不是生成两个实例么?一个子类必然先生成了父类的实例?????
---------------
THIS永远都是指当前对象
------------------
什么意思?不是在哪个类里就指哪个类么?

解决方案 »

  1.   

    首先说一下,为什么会有两行输出:因为在extends 的时候,子类继承了父类所有的成员变量
    所以它要负责初始化它们,我们可以在子类的constructor中做,如果没有这样,那么在子类的constructor中会有一个对默认父类构造函数的调用,也就产生了第一行的输出;
    为什么两行是一样的呢?
    因为在我们自己定义的类中没有实现toString()方法,但在System.out.println()中其实已经自动调用了这个方法,不过它调用的是object类的方法,这个方法的输出是类名@十六进制的hashcode;所以这两行输出是一样的,因为它们本来就是调用的一个方法
      

  2.   

    to zhijielei(志杰):这个方法的输出是类名@十六进制的hashcode;“两行输出是一样的,因为它们本来就是调用的一个方法”
    =================================================对于A与SubA来说 ,调用的都是Object的toString方法,那么就是 各自的类名@hashcode为什么调用的一个方法就相同??那所有的类不是都相同了?
    可没人说清楚为什么hashcode相同,还有为什么怎么就是一个对象了?
    不好意思我人笨,呵呵