我想知道是否可以在派生类之外显式访问Java中的超类方法。以下C++代码说明了这一点:在Java中从外部访问超类
#include <iostream>
using namespace std;
class A {
public:
virtual void f() {
cout << "A\n";
}
};
class B : public A {
public:
void f() {
cout << "B\n";
}
};
int main() {
B b;
b.A::f();
return 0;
}
此代码输出“A”,因为它显式调用f的A版本。
我知道这是可怕的设计,完全打破了封装,但这在Java中可能吗?
东西像super.nameOfYourMethod()? –
你不能违反封装 看看这里http://stackoverflow.com/questions/6386343/how-to-call-a-super-method-ie-tostring-from-outside-a-derived- –