问题很简单,如何动态继承一个public类的对象。
           比如: public Object A(Object a){
                    
                     return x;<xS代表的我继承了a这个类的对象的匿名类,如何实现?>
           }
     
           请用java原始语法实现,这样子我好查资料。
           {}内都随便改动,都ok.

解决方案 »

  1.   

    这个有点难度吧
    需要处理的很多呢
    你只能获得a的Class对象
    并通过此对象进行处理
      

  2.   

    Object o=new Object(){
    void f(){

    }
    };?
      

  3.   

    等着java支持楼主提出来的这种新特性吧
    这绝对是个进步。。
      

  4.   


    return new A(){
        //Override methods here
    };
      

  5.   

    匿名内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现. Object a传过来的a只是一个实例而已。
      

  6.   

    public Object A(Object a) throws SecurityException, NoSuchMethodException{

    class X extends Object{

    }
    return new X();
    }
      

  7.   

    我又回来顶贴子了。
    肯定是可以的。SSH框架里面就出现了这种东西。
      

  8.   

    java应该不能动态的继承类,当JVM要加载一个类的时候,必须明确的知道这个类所继承的父类。否则其类的方法表将无法确定,这会对后面的运行的时候动态绑定方法造成很大的困难。所以我觉得必须在编译的时候就明确类的继承关系,应该无法再JVM运行的过程中动态指定类的继承关系。
      

  9.   


    /*
    问题很简单,如何动态继承一个public类的对象。
      比如: public Object A(Object a){
        
      return x;<xS代表的我继承了a这个类的对象的匿名类,如何实现?>
      }
        
      请用java原始语法实现,这样子我好查资料。
      {}内都随便改动,都ok.
    */
    public class Test{
    public static void main(String[] args){

    } public <E , T extends E> T A(E a){
    return null;
    }
    }
      

  10.   

    针对一个具体的类,是很容易的
    比如:public static Class<? extends Number> f(Number n) {
    return Integer.class;
    }