기본 클래스 B와 파생 클래스 D가 있다고 가정합니다. 인스턴스가 어떤 유형이든 새로운 객체를 반환하는 기본 클래스 내에 foo() 메서드를 갖고 싶습니다. 예를 들어 B.foo()를 호출하면 B 형 객체를 반환하고 D.foo()를 호출하면 D 형 객체를 반환합니다. 한편 구현은 기본 클래스 B에서만 수행됩니다.Java : Newbie-ish 상속 질문
이것이 가능합니까? 클래스 이름은 어디
public ClassName getFoo() throws InstantiationException, IllegalAccessException
{
return getClass().newInstance();
}
을 :이 당신이 당신의 슈퍼 클래스에 반영, 즉를 사용하여이 작업을 수행 할 수있을 것 같아요
public B instance() throws Exception {
return getClass().newInstance();
}
구현을 기본 클래스로 유지하려는 특별한 이유가 있습니까? – Rik
"초보자"질문을 말할 때, 근본적인 문제를 진술하는 더 가치있는 답을 얻을 수 있습니다. 나는 당신이 당신의 질문에 사용했던 것처럼 B와 D보다 당신의 문제에 대한 더 나은 해결책이 있어야한다고 믿습니다. –