龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

如何实例化一个抽象类

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
抽象类就一定不可以实例化吗? 看下面的例子: public abstract class YourClassName { public abstract Object someMethod(...); } 在你要有的地方 YourClassName ycn = (YourClassName) Java.lang.reflect.Proxy.newProxyInsta

  抽象类就一定不可以实例化吗?
  看下面的例子:
  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
  
精彩图集

赞助商链接