super调用的是父类的方法,你应该在InfiniteRecursion写上extends其父类吧

解决方案 »

  1.   

    Ojbect@16930e2   有什么意义么
      

  2.   

    没错啊,Object.toString()返回的应该是类名和地址啊,而对象句柄中记录的类名应该就是InfiniteRecursion啊
      

  3.   

    InfiniteRecursion a = new InfiniteRecursion();
    Object o = a;
    String name = o.getClass().getName();
    那么name的值是什么?当然是InfiniteRecursion
      

  4.   

    关键getClass()应该返回Object.class,getClass().getName() 应该返回Object才对阿!错误!!!!!getClass()是返回InfiniteRecursion 而不是Object,它并不会受到调用
    父类而出现改变,因为当前的类的确是InfiniteRecursion 这个是继承的规范
      

  5.   

    To  mor(安稼)
    InfiniteRecursion a = new InfiniteRecursion();
    Object o = a;
    String name = o.getClass().getName();
    那么name的值是什么?当然是InfiniteRecursion
    老兄,这是不一样的,你上面的代码中,根据java 通过RTTI机制可以在执行时知道"o是InfiniteRecursion 的对象,所以o.getClass().getName();当然执行的是InfiniteRecursion的getClass().getName()(所谓的多态).而super.toString的确调用的是Object的toString(){
    getClass().getName() + "@" + Integer.toHexString(hashCode());
    关键是这里的getClass()为什么是调用的InfiniteRecursion的getClass(),除非有这样的一个设想super.toString()调用是,隐含地传递一个this参数!我想应该是这样的!不知大家认为是怎么样的?
    你再考虑一下我上面的程序,要是按你讲的,会出现什么情况!ChDw(米) 说的有一定的道理,不知道你是在那里看到的!能否详细的说明一下!
      

  6.   

    InfiniteRecursion(Object).toString()什么意思啊?