아마도이 방법을 사용할 수 없다고 생각하지만 도움이 될만한 가치가 있다고 생각했습니다. 나는 다음과 같은 일을 할 :정적 메서드에서 서브 클래스 인스턴스화
public class Super {
public static String print() { System.out.println(new Super().getClass().getSimpleName()); }
public Super() {}
}
public class Subclass extends Super {
public Subclass() {}
public void main(String[] args) {
Super.print();
Subclass.print();
}
}
내 희망은() "서브 클래스"를 보여주기 위해 "최고"와 Subclass.print()을 표시 할 Super.print를 얻는 것입니다. 그러나 정적 컨텍스트에서이 작업을 수행하는 방법을 알지 못합니다. 도와 주셔서 감사합니다.
정적 메서드없이이 작업을 수행 할 수 있으며 각 메서드 호출에 클래스를 전달할 수 있다는 것을 잘 알고 있습니다. 많은 하위 클래스에서 여러 가지 정적 메서드를 재정의해야하므로이 작업을 수행하고 싶지 않습니다.
하여이 작업을 수행 할 수 있습니다() 문자열을 반환하거나 무효화하기 위해 서명을 변경 .. FYI 만. –
예제를 확장 Super에 추가했습니다. 나는 원래 그것을 거기에두고 잊어 버리려고했다. – Blacktiger