简单说明Java中this关键字的使用
大家都写过get和set方法,都知道set方法中的this代表了当前的对象
static class Son extends Daddy{
// 成员变量
private String sonName;
public Son() {
}
// set入参方法
public void setSonName(String sonName) {
this.sonName = sonName;
}
}
上面代码可以看到 setSonName 方法体内使用了 this 关键字这个,this指向了当前类的成员变量,为当前实例类的成员变量赋值
public static void main(String[] args) {
// 创建对象,该对象继承了Daddy对象
Son son = new Son();
//写入参数
son.setSonName("张三");
}
这个this是谁使用了这个方法this就是谁的实例,这个时候你要说了这个方法不就是属于son的方法吗?这个时候this指向的实例肯定是son啊,接着往下看
可以看到 son 继承了 Daddy 这个类,然后使用子类调用父类的方法
void methods(Object name)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b4a361fa03a54d4287b05da8e9001fc7.png
这下可以证明了谁使用了这个方法this就在谁的实例,继承涉及到类的加载顺序不知道的可以去了解下。
总结:this关键字不是绝对指向类实例,(继承会优先创建父类的构造方法也就是先把父类创建出来再创建子类的构造方法)的,如果子类继承了父类,那么子类使用了父类的方法,父类中的this就是子类的实例。
多多讨论有问题我随时调整