Java에서는 단일 파일에서 여러 최상위 레벨 클래스를 정의 할 수 있으며,이 중 최대 하나가 공개되어 있습니다 ( JLS §7.6 참조 ). 예를 들어 아래를 참조하십시오.
이 기술에 대한 단정 한 이름 (유사 있는가
inner
,nested
,anonymous
)?JLS에 따르면 시스템 은 이러한 2 차 클래스가
referred to by code in other compilation units of the package
패키지 개인 클래스 로 취급 될 수없는 이러한 2 차 클래스를 제한 할 수 있다고 제한합니다 . 실제로 Java 구현간에 변경되는 것이 있습니까?
예를 들어 PublicClass.java :
package com.example.multiple;
public class PublicClass {
PrivateImpl impl = new PrivateImpl();
}
class PrivateImpl {
int implementationData;
}