>Java >java지도 시간 >단일 Java 파일에 여러 최상위 클래스가 존재할 수 있습니까?

단일 Java 파일에 여러 최상위 클래스가 존재할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-27 13:27:11646검색

Can Multiple Top-Level Classes Exist in a Single Java File?

단일 Java 파일에 여러 클래스 선언

Java에서는 하나의 파일에 여러 개의 최상위 클래스를 정의하는 것이 가능하지만 이 클래스 중 하나만 공개할 수 있다는 제한이 있습니다(JLS에 따라). §7.6).

이 기술에 대한 특정 용어가 있습니까?

"내부", "중첩"과 유사한 이 관행에 대한 공식 명칭은 없지만, " 또는 "익명" 클래스인 경우 최상위 다중 클래스라고 할 수 있습니다. 선언.

보조 클래스는 다른 컴파일 단위에서 참조되는 것이 제한됩니까?

JLS는 실제로 JVM(Java Virtual Machine)이 이러한 보조 클래스는 "패키지의 다른 컴파일 단위에 있는 코드에서 참조"될 수 없다는 제한 사항이 있습니다. 그러나 이 제한은 Java 구현 전반에 걸쳐 일관되게 적용되지 않습니다.

Java 구현 동작 설명

일부 Java 구현에서는 이러한 파일 간 참조를 적극적으로 금지하지 않을 수 있지만 이를 효과적으로 방해하는 제한 사항이 있습니다. 예를 들어, Foo라는 공개 클래스가 다른 파일에서 Bar라는 또 다른 최상위 클래스를 참조하는 경우 Foo 컴파일은 "cannot find Symbol: class Baz" 오류와 함께 실패할 수 있습니다. 이 오류는 컴파일러가 참조된 클래스 Bar를 검색할 소스 파일을 모르기 때문에 발생합니다.

이러한 문제를 방지하려면 보조 클래스가 아닌 한 각 소스 파일을 하나의 최상위 클래스로 제한하는 것이 좋습니다. 클래스는 어떤 이유로 공개 클래스에 액세스해야 합니다.

위 내용은 단일 Java 파일에 여러 최상위 클래스가 존재할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.