익명 객체 : 이름이없는 객체.
비인형 대상 :
classname c = new classname ();
c.run ();
익명 대상 :
새 className (). run ();
참고 :
1. 객체가 메소드를 한 번만 호출하면 익명 객체로 단순화 할 수 있습니다.
2. 두 개의 익명 객체는 같은 객체가 될 수 없습니다.
3. 일반적으로 속성 값은 익명 객체에 할당되지 않습니다.
4. 일단 실행되면 직접 재활용되어 메모리 공간이 절약됩니다.
익명 객체에서 사용하는 코드의 예 :
공개 클래스 anony anony {int a = 1; int b = 2; void run () {system.out.println (a+b);} public static void main (string [] args) {new Anony (). a = 10; // 익명 객체를 재 할당 할 수 없으며, 할당은 여전히 anony a = new anony (); a.run (); // 객체를 익명으로 생성하고 메소드를 호출}}실행 결과 :
3
3
익명의 내부 클래스 : 익명의 내부 클래스는 이름이없는 내부 클래스입니다.
체재:
className Object = new ClassName () {
/*코드 블록*/
};
참고 :
1. 익명 내부 클래스는 상위 클래스를 상속하거나 인터페이스를 구현해야합니다.
초록 클래스 코드 예제 : (인터페이스와 동일)
초록 클래스 AnonyTest {int a = 1; int b = 2; 공개 초록 void run ();} public class anonyinner {public static void main (string [] args) {anonytest a = new AnonyTest () {// Abstract 익명 클래스 public void run () {system.out.println (a+b);}}; a.run ();}}익명의 내부 클래스를 사용하여 추상 방법을 구현하지 않는 경우 :
초록 클래스 AnonyTest {int a = 1; int b = 2; 공개 초록 void run ();} 클래스 anonydemo는 anonytest {public void run () {system.out.println (a+b);} public class anonyinner {public static void main (string [] args) {anonytest a = new Anonydemo (); // 객체를 켜십시오 a.run ();}}실행 결과 :
3