4.6 this关键字
阅读例4.11程序,分析运行结果。
【例4.11】
Example4_11.java
(https://www.daowen.com)
运行上面程序得到运行结果为:
大家好,我是一只null的null
为什么创建的dog对象的成员变量的值是null呢?究其原因,是因为调用的构造函数形参变量name和age与成员变量名相同,当执行name=name;语句时,JVM采用就近原则在方法中能寻找到name局部变量,则不会去匹配成员变量。那么当成员变量或对象的属性与方法中的局部变量同名时如何实现对成员变量进行初始化呢?可以通过this关键字来实现。如在例4.11程序的Animal类的构造方法中实现为成员变量初始化则需在成员变量名前加上this来表示引用成员变量:
