如何实例化一个抽象类?
2008-01-05 08:58:11 来源:WEB开发网核心提示:抽象类就一定不可以实例化吗?呵呵,不一定哦,如何实例化一个抽象类?,,看下面的例子:public abstract class YourClassName{ public abstract Object someMethod(...);}在你要有的地方YourClassName ycn = (YourCla
抽象类就一定不可以实例化吗?
呵呵,不一定哦。。看下面的例子:
public abstract class YourClassName
{
public abstract Object someMethod(...);
}
在你要有的地方
YourClassName ycn = (YourClassName) java.lang.reflect.PRoxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[]{YourClassName.class},new java.lang.reflect.
InvocationHandler(){
public Object invoke(Object proxy,Method m,Object params[]) throws Exception{return null;}
});
只是这个实例没有任何用处,他所有的方法都直接返回
假如要使不是abstract的方法和原来的一样,
那么修改invoke函数,判定m是不是抽象的
不是就调用proxy中的方法(m.invoke(proxy,params))
假如是就返回null
更多精彩
赞助商链接