이 기사에서는 Java 내부 클래스 객체의 생성 및 후크 메커니즘에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
Java의 내부 클래스는 상태 정보의 주변 클래스와 완전히 독립적이지만 (내부 클래스 인스턴스를 통해 기능을 직접 수행 할 수 있음) 주변 클래스 객체는 내부 클래스 객체의 존재의 기초입니다.
내부 클래스 객체를 생성 할 때는 주변 클래스 객체를 고정시킬 수 있도록 Java가 내부 클래스 객체를 생성하기위한 엄격한 구문을 제공하도록해야합니다.
일반적으로 내부 클래스 객체를 생성하는 데 사용되는 두 가지 방법이 있습니다.
Method1 : 주변 클래스 인스턴스를 사용한 표준 메소드. 내부 클래스 이름 ().
Example 1:
공개 클래스 외부 {int no; 클래스 내부는 인터페이스 {}} 인터페이스 인터페이스 interfacea {} main () {외부 instancea = new Outer (); interfacea interfacea = instancea.new inner (); // 내부 클래스 인스턴스, 새로운 주변 클래스 인스턴스를 생성하는 방법에주의를 기울입니다. 내부 클래스 이름 (). 이것의 목적은 내부 클래스 인스턴스에 주변기 클래스 인스턴스 hook.interfacea interfaceb = instancea.new outer (); // 내부 클래스의 다른 인스턴스가 생성되며 인스턴스 인스턴스에 첨부되어야합니다. }방법 2 : 공장 메소드를 사용하여 특정 인터페이스를 구현하는 객체를 직접 반환합니다 (객체는 일반적으로 내부 클래스입니다).
Example 1:
공개 클래스 외부 {int no; 클래스 내부는 interfacea {} public interfacea createinnerinstance {return interfacea {read (); }}} interface interfacea {public void read ();} main () {Outer Instancea = new Outer (); Interfacea interfacea = instancea.createInnerInstance (); // 내부 클래스 인스턴스에 의해 생성 된 메소드를 참고하고 공장 메소드를 직접 호출하고 인터페이스 인터페이스를 반환하는 대상을 반환합니다. Interfacea interfaceb = instancea.createinnerinstance (); // 내부 클래스의 새 인스턴스가 생성되며 인스턴스 인스턴스에도 첨부됩니다. }인스턴스 이름을 사용하는 방식과 비교하여 공장 메소드는 더 우아하고 명확하게 보입니다.
! 내부 클래스의 사용 시나리오에주의하십시오. 일반적으로 특정 인터페이스 함수를 외부로 구현하는 내부 클래스 객체를 반환 한 다음 해당 작업을 수행하는 것입니다. (주변 클래스의 구성원은 내부 클래스에 완전히 보이기 때문에 편의와 장점은 매우 분명합니다)
내부 클래스 객체가 생성 될 때 컴파일러가 주변 클래스 인스턴스 정보를 자동으로 캡처하므로 Java는 말초 클래스 인스턴스를 다시 호출하는이 방법을 제공합니다 (이 방법은 때로는 매우 중요합니다).
예:
공개 클래스 외부 {클래스 내부 {public OUTER CALLBACK () {return OUTER.this} // Callback () 메서드 구문 주변 클래스 이름을 사용하여 내부 클래스 객체 후크의 주변 클래스 객체에 대한 참조를 반환합니다. }}더 많은 Java 관련 컨텐츠를 위해이 사이트에 관심이있는 독자는 "Java 객체 지향 프로그래밍에 대한 소개 및 고급 튜토리얼", "Java 데이터 구조 및 알고리즘에 대한 자습서", "Java Operation Dom Node Skills 요약", "Java 파일 및 디렉토리 운영 기술 요약"및 "Java Cache Cache 운영 기술 요약"을 볼 수 있습니다.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.