나는 다음있어 :자바 제네릭/초록/innerclass 구문 질문
public abstract class Foo<T>{
//contents of Foo //
...
public class Bar<Q> extends Foo<T>{
//contents of Foo.Bar //
...
}
}
나중에, 다른 클래스와 자바 파일에, 나는 사용하여, 위의 내부 바 클래스의 인스턴스를 생성하는 것을 시도하고있다 슈퍼 타입으로서의 외부 추상 클래스. 더 복잡하게하기 위해, 새로운 클래스는 자신의 generic을가집니다. 다음은 작동하지 않습니다.
public class SomeOtherClass<A>{
private Foo<A> x;
public SomeOtherClass(){
x = Foo<A>.Bar<A>();
}
}
하지만 작동하지 않습니다. 그리고 내가 시도한 다른 모든 콤보도 마찬가지입니다. 그렇다면 어떻게하면 x을 인스턴스화할까요? Foo의 매개 변수를 제거하지 않고도 완료 할 수 있습니까? 나는 Foo의 매개 변수를 제거하고 싶지 않습니다. 추상적 인 메서드는 서명에 일반 매개 변수가 있기 때문입니다.
나는 최고의 대답을 받아 들일 곳이 있다는 것을 깨닫지 못했습니다. 죄송 해요! – Jay
가능할 때마다 내부 클래스 대신 정적 중첩 클래스를 사용하는 것을 잊지 말고 이상한 혼란스러운 문제 대부분이 사라지는 것을 지켜보십시오. –