首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

能否实例化一个抽象类?

2012-10-06 
可不可以实例化一个抽象类?- -能用程序自己实现比如:public abstract class YourClassName{public abstrac

可不可以实例化一个抽象类?- -

用程序自己实现

比如:
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;}
        });
这样就得到了YourClassName的一个实例
只是这个实例没有任何用处,他所有的方法都直接返回

如果要使不是abstract的方法和原来的一样,
那么修改invoke函数,判断m是不是抽象的
不是就调用proxy中的方法(m.invoke(proxy,params))
如果是就返回null

热点排行