Java:当 foo() 在超类中时,this.foo() 和 super.foo() 是一样的吗?
假设我有以下类:
class Foo {
protected void method() {}
}
class Bar extends Foo {
}
此时,从类 Bar 中,我可以通过两种方式访问:method()
super.method();
this.method();
从我所看到的,他们似乎执行相同的动作。在这种情况下,这两者之间有区别吗?如果是这样,是否有首选版本?
使用是有意义的,因为它是超类的一部分。我想使用也是有意义的,因为Bar将继承类Foo的属性,因此也是如此,对吧?super
method()
this
method()