我想知道是否可以在派生類之外顯式訪問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- –