如何实例化一个抽象类?

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

抽象类就一定不可以实例化吗?

呵呵,不一定哦。。看下面的例子:

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有