간단한 설명 :
최근에 반사가 필요한 많은 수업을 마쳤으므로 그 사이에 많은 내부 수업이 있습니다. 여기에서는 자격을 갖춘 내부 클래스 이름의 규칙을 요약하겠습니다.
회원 내부 클래스
테스트 결과는 멤버 내부의 내부 클래스가 정적인지 여부에 관계없이 완전히 자격을 갖춘 이름이 다음 이름 지정 방법과 함께 사용됨을 보여줍니다.
패키지 이름 .external 클래스 이름 $ 내부 클래스 이름
테스트 코드 :
package com.test; public class Innerclasstest {static class staticinner {} class inner {} public static void main (string [] args) {staticinner si = new staticinner (); Inner in = new InnerClasstest (). inner (); system.out.println (si.getClass ()); System.out.println (in.getClass ());}}인쇄 결과 :
classcom.test.innerclasstest $ staticinner
classcom.test.innerclasstest $ 내부
익명의 내부 클래스
익명의 내부 클래스의 자격을 갖춘 이름은 다음 규칙을 충족합니다.
패키지 이름. 외부 클래스 이름으로 시작하는 긍정적 인 정수 $ 1- 클래스 로딩 순서대로 정렬
테스트 코드
package com.test; public class innerclasstest {static 객체 staticAnclass = new Object () {}; static 객체 staticBlockAnlass; static {staticBlockAnclass = new Object () {};} 개체 anclass = new object () {}; 객체 블록 낙사기; {blockanclass = new Object ()}; args) {innerclasstest functionclass = new InnerClasstest () {}; system.out.println (staticAnclass.getClass ()); System.out.println (staticBlockanClass.getClass ()); InnerClasstest = new innerClasStest (); System.out.println (test.anclass.getClass ()); System.out.println (test.blockanClass.getClass ()); System.out.println (functionClass.getClass ());}} 인쇄 결과 :
클래스 com.test.innerclasstest $ 1
클래스 com.test.innerclasstest $ 2
클래스 com.test.innerclasstest $ 3
클래스 com.test.innerclasstest $ 4
클래스 com.test.innerclasstest $ 5
로컬 내부 수업
로컬 내부 클래스의 자격을 갖춘 이름은 다음과 같이 사용됩니다.
패키지 이름. 외부 클래스 이름 $ 다음에 1로 시작하는 긍정적 인 정수와 로컬 클래스 이름이 뒤 따릅니다. 여기서 숫자 부분은 외부 클래스의 맥락에서 로컬 클래스가 나타나는 순서입니다.
테스트 코드
package com.test; public class innerclasstest {public static void main (string [] args) {functiona (); functionb ();} public static void functiona () {class inner {}; system.out.println (new inner (). getClass ()); getclass ()); public static void functionb () {system.out.out.out.out.out.pod. 내부 (). getClass ());}} 위의 예는 결과를 인쇄합니다.
classcom.test.innerclasstest $ 1 인너
classcom.test.innerclasstest $ 2inner
테스트 코드를 기반으로, main에서 functiona 및 b 위치를 교환 한 후 결과는 다음과 같습니다.
classcom.test.innerclasstest $ 2inner
classcom.test.innerclasstest $ 1 인너
테스트 코드를 기반으로 Functiona 및 B 선언의 위치를 교환 한 결과 :
classcom.test.innerclasstest $ 2inner
classcom.test.innerclasstest $ 1 인너
요약
위는 Java 내부 클래스의 자격을 갖춘 이름 규칙 코드 예제에 대한이 기사의 전체 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!