Super :: super()에서 Super :: printThree를 호출하는 방법?
아래 예제에서는 Test :: printThree를 대신 호출합니다.기본 생성자에서 Java 호출 기반 메서드
class Super {
Super() {
printThree(); // I want Super::printThree here!
}
void printThree() { System.out.println("three"); }
}
class Test extends Super {
int three = 3
public static void main(String[] args) {
Test t = new Test();
t.printThree();
}
void printThree() { System.out.println(three); }
}
output:
0 //Test::printThree from Super::Super()
3 //Test::printThree from t.printThree()
그는 상속 된 클래스에서 super 메서드를 호출하고 싶지 않지만 다른 방법으로는 호출하지 않으려한다는 점을 제외하고는. 슈퍼 클래스의 슈퍼 클래스는 Object이므로, 슈퍼 클래스의 아이디어는 분명히 작동하지 않습니다. – Voo
@Voo - 동의했습니다. 가능한 시나리오만을 지적했습니다. 그가 원하는 것은 불가능합니다. –