코딩 스타일이 매우 좋지 않지만 때로는 피할 수없는 경우가 있습니다.
이 문장의 두 번째 부분은 분명히 거짓입니다.구현 레벨에서 중첩 클래스를 사용하지 않는 것이 항상 가능합니다.
디자인 이름있는 클래스를 두 개 이상의 수준으로 중첩하는 이유와 익명 클래스를 3 개 또는 4 개 수준 이상으로 생각할 수 있습니다. (난 정말 복잡한 콜백과 이클립스 RCP 응용 프로그램에서 익명의 내부 클래스의 3 또는 4 단계를 사용하여 한 시간을 기억하지.하지만 그건 정말 이상한이며, 생각해 보면 그것은 나쁜 생각이었다.)
1)입니다 중첩 클래스에 대한 제한이 있습니까?
이론적으로 제한은 정규화 된 클래스 이름에 대한 64K 제한입니다. 실제로 한계는 상식입니다.
2)는 무엇입니까?
? 중첩 클래스가 중첩되지 않은 클래스와 같은지 묻는 경우 모든 실제 의도에 대해 대답은 예 ...입니다. 일반 클래스로 수행 할 수없는 중첩 클래스로 수행 할 수있는 유일한 작업은 private
으로 선언 된 항목을 공유하는 것입니다. 그리고 해결 방법은 개인 패키지에 대한 액세스를 완화하는 것입니다.
3) 어떻게 이러한 상황을 처리합니까? 라이브러리를 만드시겠습니까?
나는 어떤 상황에 대해 이야기하고 있는지 알 수 없습니다. 여러 클래스로 구성된 Java 프로그램을 모듈화하는 일반적인 방법은 클래스 중첩이 아닌 Java 패키지를 사용하는 것입니다. 그게 네가 누락 된 것이니?
항상 피할 수 있습니다 – Bozho
이 코드는 구문 상 올바로 맞습니까? – nmr
특정 코드 생성 환경에서는 피할 수 없습니다. 저조한 설계된 스키마 파일에서 Jaxb를 사용할 때 심도가 한계에 다다 랐습니다 (다행스럽게도 편집 할 수 있음). – Spina