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