服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

如何实例化一个抽象类?


  抽象类就一定不可以实例化吗?
呵呵,不一定哦。。看下面的例子:
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

扫描关注微信公众号