질문:
Eclipse를 사용하여 생성된 내보낸 JAR 파일에서 특정 클래스 파일에는 클래스 이름 뒤에 달러 기호와 숫자가 표시됩니다. 예를 들면 다음과 같습니다.
<code class="java">Find.class Find.class Find.class Find.class</code>
이것은 큰 클래스가 여러 개의 작은 클래스로 나뉘는 코드 크기 제한의 결과입니까? 광범위한 온라인 검색을 통해 관련 정보가 나오지 않았습니다. 누군가 설명을 제공할 수 있습니까?
답변:
이러한 추가 클래스 파일은 원래 클래스 내의 내부 클래스의 결과입니다. 내부 클래스는 외부 클래스 내에 중첩되며 클래스 키워드를 사용하여 선언됩니다.
<code class="java">public class OuterClass { public class InnerClass { // Nested code } }</code>
내부 클래스를 포함하는 클래스가 컴파일되면 명명 규칙 OuterClass$InnerClass에 따라 각 내부 클래스에 대해 별도의 클래스 파일이 생성됩니다. .수업. 익명의 내부 클래스(이름이 없는 클래스)에는 숫자 식별자가 할당되어 OuterClass$1.class와 같은 파일 이름이 생성됩니다.
일반적인 믿음과는 달리 원본 클래스의 크기는 여러 클래스 파일 생성에 영향을 미치지 않습니다. . 내부 클래스의 존재가 이러한 동작의 유일한 이유입니다.
위 내용은 JAR 파일의 Java 컴파일 클래스에 파일 이름에 달러 기호와 숫자가 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!