欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-10 12:17:10
...

用程序自己实现

比如:
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