这个问题挺绕,查了网上两种说法都有,自己有研究验证了一下,放出关键图。
new子类就会先调用父类构造方法,这时在某个地方就会有这些变量和方法,然后再增加子类方法。也就是说同名的变量其实在父类区域里。这时this.变量 和 super.变量 是同一个东西。得出这样的结论我也奇怪,但确实在其它问题上有了更好的理解,比如父类中的private变量在被继承后是实际存在的,就在小方框里,只不过外部不能调用。
这时也并没有生成父类对象,可以getClass验证。
本文探讨了Java中子类继承父类时的变量和方法调用机制。通过实例说明了同名变量在父类和子类中的表现形式,解释了super和this关键字的使用,并讨论了私有变量的可见性和存在形式。
这个问题挺绕,查了网上两种说法都有,自己有研究验证了一下,放出关键图。
new子类就会先调用父类构造方法,这时在某个地方就会有这些变量和方法,然后再增加子类方法。也就是说同名的变量其实在父类区域里。这时this.变量 和 super.变量 是同一个东西。得出这样的结论我也奇怪,但确实在其它问题上有了更好的理解,比如父类中的private变量在被继承后是实际存在的,就在小方框里,只不过外部不能调用。
这时也并没有生成父类对象,可以getClass验证。
3108