请问super,this关键字是不是只能在类的实例方法中使用?
发布网友
发布时间:2022-05-21 04:46
我来回答
共2个回答
热心网友
时间:2023-10-14 22:23
super,this关键字可以 在类的实例方法中使用,也可以用于构造方法。像静态方法里是不能使用的。
选B
是指当前对象的父类对象的内存地址
热心网友
时间:2023-10-14 22:23
比如一个 Class A 是Class B的父类。
B中的this, 就是B的一个实例化对象。
B b = new B(). 这个b和this 是同级别的。 this 只能在B里面用。
要有b, 就必须现有一个A的实例(没有父亲,哪有儿子?)。
那么,super 就是this的爹。
A a = new A(). super 和a是同级别的,只不过super和this 只能在B class中使用。、
想a , b , super, this这种对象,里面实际保存的都是一些内存中的地址(可以理解为你家的门牌号,只不过这些地址放在派出所,别人想找你,就去派出所找这些地址)
假如
public class B extends A {
int meony = 0;
public B(){
meony = 10000;
}
}
那么b,和 this 就是都有 1000块。 和家不一样的是, 你家只有一个,但B可以有很多个,
所以b 和 this 是不同的。追问谢谢!请问如果子类覆盖了父类的a方法,直接调用a方法是不是就是子类的方法?this.可以省略吗?
追答覆盖的了的话,如果你子类里调用a, this可以省略,但实际上就是this.a(), 就是子类的实例调用的, 调用的就是子类的a方法。
父类的实例调用a, 调用的就是父类的a方法。