파생 클래스 외부에서 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"를 출력합니다.
나는 이것이 끔찍한 디자인이며, 캡슐화를 완전히 없애지 만 자바에서는 가능하다고 생각 하는가?
super.nameOfYourMethod() 같은 것이 있습니까? –
캡슐화에 위배되지 않습니다. 여기를보세요 http://stackoverflow.com/questions/6386343/how-to-call-a-super-method-ie-tostring-from-outside-a-derived- class –