关于this 关键字,他的作用可以访问当前类的成员,
另一种说法,
this指的是当前调用该方法的对象,那么请问这里this .a为又什么是1?我用反射看了this的类是
test,这种说法到底正不正确?还是我理解错了?
另一种,在基础封装里面,父类私有化的成员变量,子类new 出子类的对象通过set 方法赋值,继承里讲,子类无法继承父类私有成员,那么请问按照这种说法,这里,set 方法里的this又是怎样把值给父类私有变量的?
子类不是无法继承父类私有成员,只是不能调用,所以才用get set等方法来调用
这里会自动强转为父类Text2吧,私有变量在子类不能使用和改变的,非私有变量子类可以通过super.变量改变
首先,子类继承父类run方法,但是编译时子类方法区中并没有run方法,会去父类方法区中寻找;
其次,子类a变量覆盖父类a变量,指的是子类所在内存中变量a为0,父类内中中变量a依旧是1,(可以在子类中super.a去验证);
所以,调用父类run方法时,this指代的是test类,但是a变量会去TestP所在内存中找对应的变量,为1;
额外验证:可以在子类中重写run方法,此时test类的方法区中会有run的字节码,结果会是0