本帖最后由 xtanmy 于 2012-04-09 16:32:03 编辑

解决方案 »

  1.   

    需要明确一点:this是指当前对象,去到父类是当前的子类对象,去到爷类也还是指这个对象。
      

  2.   

    1.this:当前对象
    2.当前对象只有一个
      

  3.   


    我明白些了。this是该方法所在对象的引用,一般调用方法本来就需要引用,如a.f(),这是this就是a.但生成孙类对象时并没有真正生成父类的对象、爷类的对象,只是生成他们的成员变量保存在子类对象的内部,也就只有对子类对象的引用,this就是子类对象。
      

  4.   

    你在这里面只new son() 所以只创建了孙类的对象,而父类以及爷爷类只是调用了构造函数并未被new所以this在这里面只是孙的引用!
      

  5.   

    this就是指当前对象,当前对象是孙类,那么就是孙类
      

  6.   

    this 是指本类的对象,对象好像就只有一个吧  貌似引用其他的类好像要用super了 。我也是刚刚才学到的 不知对不对 还请大牛指导了
      

  7.   

    谢谢夸奖,第一次发帖.不知道怎么给分。还想讨论下新建子类对象时JVM的具体运作过程。PS,我昨天把一个在Java里做的计算器移植到了Android上,所有的按键还得重写。我现在很困惑以后是走Android还是Web,因为两个都没有JavaSE那么大兴趣。
      

  8.   

    能否谈论下新建子类对象时JVM的具体运作过程,以及对选择WEB还是Android给些建议。。
      

  9.   

    这里我有点不明白了,按照thinking in java上第五章初始化,我对那的理解,只有new或者调用static域或者方法触发初始化(以下只谈new的过程),只有new的时候才会触发初始化,而继承过程中的父类,光靠调用构造方法是不能完成初始化的,他只是初始化过程中要完成的最后一步,说明java内部不是还是隐藏的进行了new的操作了吗