这个问题本来没有太大意义,父类子类中定义同名变量不规范,但是面试笔试中容易问到,弄清这个问题也能帮助理解继承。
查了下资料,这个讲的不错,http://ayis.iteye.com/blog/221686 评论的解释也很好。
这里总结一下,
父类子类变量引用各自的对象:直接访问都是自己定义的变量。
子类父类自己的方法都是访问自己的变量,这里包括多态的情况,通过父类变量访问子类方法。
我的理解是子类对象会保存父类对象变量的一份拷贝,同名变量会隐藏,父类中的方法是共享的且只能访问父类中的变量。