您的位置:首页 > 编程语言 > Java开发

java中的this关键字

2016-01-01 15:37 453 查看
今天看视频的时候碰到一个this的指向问题,现在就写篇博客记录一下吧,先看一下类的定义:

Father类:

public class Father {
String name = "Father";

public Father() {
System.out.println("this:" + this);
}

public String getName() {
return this.name;
}


}

Son类:

package test2;

public class Son extends Father{
String name = "Son";

public Son() {

}

}


现在来看看主函数:

Father f = new Son();

System.out.println(“f.name:” + f.name);

System.out.println(“f.getName():” + f.getName());

运行的结果:

this:test2.Son@15db9742

f.name:Father

f.getName():Father

第一行分析:

Father里面的this不是指向Father类,这个this就是当这个对象new出来的时候这个对象的引用,例如将子类的实例赋值给父类,那么父类里面使用this关键字时这个this指向的是子类的对象。

第二行、第三行分析:

既然前面说了this指向不是Father,那么this.name应该是Son,按我自己的理解,Son继承的Father类,那么Father中的name属性也继承,所以this.name还是可以访问到Father的name属性的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: