https://blog.youkuaiyun.com/ccpat/article/details/44515335 参考链接
正常情况下
this 表示当前类的当前实例对象
package com.test.base;
public class Test4 {
String name = "aaa";
void show(){
System.out.println(this);
}
@Override
public String toString() {
return "Test4{" +
"name='" + name + '\'' +
'}';
}
public static void main(String[] args) {
Test4 test4 = new Test4();
test4.name = "bbb";
test4.show();
}
}
结果为
那么在Test4类中,目前的this就表示是test4对象
在继承关系中,
1、如果在父类中,父类的某个方法被重写,那么在新建一个子类对象的情况下(继承关系),即使在父类中用this调用被重写的方法,调用的同样是子类中被重写的方法!当然如果新建的是父类对象,结果当然还是调用父类中的方法;
2、在不引用其他变量或者方法的时候,this始终代表的是子类的对象