Java学习之路--this关键字在继承关系中的指向问题

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class father{
public father(){
System.out.println("father: " + this.getClass().getName());
}
}

public class son extends father{
public son(){
System.out.println("son: " + this.getClass().getName());
}
public static void main(String[] args) {
father f = new father();
System.out.println("----------------------");
son s = new son();
}
}

输出结果

1
2
3
4
father: com.geyu.father
----------------------
father: com.geyu.son
son: com.geyu.son

总结

this的具体指向视具体的调用情况而定:

  1. 当单独创建上述代码中的父类对象时,this指向父类对象
  2. 当创建子类对象时,父类中的this关键字此时指向子类对象
文章作者: GeYu
文章链接: https://nuistgy.github.io/2023/01/23/Java学习之路(47)/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yu's Blog