java 익명클래스 예제

LinkedStack 클래스의 열거형() 메서드 내에서 익명 클래스로 구현된 열거 형 클래스를 보여 주면 3-11을 고려하십시오. 로컬 클래스로 구현된 클래스와 동일한 클래스를 보여 주면 3-10 예제와 비교합니다. 익명 내부 클래스는 다음 시나리오에서 사용됩니다: 익명 클래스는 하나의 클래스 또는 인터페이스 resp로 확장하거나 구현해야 합니다. 익명 클래스를 사용하면 코드를 보다 간결하게 만들 수 있습니다. 이를 통해 동시에 클래스를 선언하고 인스턴스화할 수 있습니다. 이름이 없다는 점을 제외하고는 로컬 클래스와 같습니다. 로컬 클래스를 한 번만 사용해야 하는 경우 사용합니다. 구현할 인터페이스 의 이름 또는 확장할 클래스입니다. 이 예제에서 익명 클래스는 HelloWorld 인터페이스를 구현 합니다. 여기서 사용되는 ThreadClass는 사용자가 정의됩니다. 이 클래스는 스레드를 만드는 데 필요한 Runnable 인터페이스를 구현합니다. ThreadClass에서 run() 메서드(Runnable의 메서드만)도 구현해야 합니다.

ThreadClass를 제거하는 것이 더 효율적이며 익명 내부 클래스가 존재하는 이유가 분명합니다. 구문: 익명 클래스 식의 구문은 코드 블록에 포함된 클래스 정의가 있다는 점을 제외하면 생성자의 호출과 같습니다. 익명 클래스 정의는 식이므로 명령문의 일부여야 합니다. 이 예제에서 익명 클래스 표현식은 프랑스어를 인스턴스화하는 명령문의 일부입니다. (닫는 중괄호 후 세미콜론이 있는 이유를 설명합니다.) 익명 클래스는 복잡할 수 있지만 익명 클래스 선언구문은 몇 가지 간단한 메서드만 있는 작은 클래스에 가장 적합합니다. 익명 클래스는 포함 된 클래스의 메서드에 액세스할 수도 있습니다. 그것은 여전히 지저분하게 자세한 이지만, 그것은 당신이 (상황과 재사용에 따라, 여전히 더 나은 접근 방식이 될 수 있지만) 이 같은 모든 던져 청취자에 대한 명명 된 클래스를 정의하도록 강요하는 것보다 훨씬 낫다 우리가 위에서 고려 익명 클래스는 중첩 된 클래스의 특정 경우만 발생합니다. 일반적으로 중첩 된 클래스는 다른 클래스 또는 인터페이스 내에서 선언 되는 클래스: 간단한 코드 예제와 함께 위의 질문에 대답 하자. 익명 클래스의 응용 프로그램의 큰 다양성이있을 수 있습니다. 몇 가지 가능한 사용 사례를 살펴보겠습니다. 익명 클래스는 로컬 변수를 포함하여 익명 클래스가 선언되는 블록에 표시되는 모든 변수에 액세스할 수 있습니다. Java의 익명 클래스는 이름이 지정되지 않은 클래스이며 단일 문으로 선언되고 인스턴스화됩니다.

한 번만 인스턴스화되는 클래스를 만들어야 할 때마다 익명 클래스를 사용하는 것이 좋습니다. 참고 문헌: Sams 가르쳐 21 일 일곱 번째 판 우리가 존재 에서 익명 클래스를 인스턴스화 할 때, 우리는 다음과 같은 구문을 사용: 자바에서 스레드 프로그램을 작성할 때, 그것은 일반적으로에 대한 가장 우아한 것들 중 하나처럼 보일 것이다 익명 클래스는 필요한 곳에 원샷 클래스를 정확하게 정의할 수 있도록 허용한다는 것입니다. 또한 익명 클래스에는 코드의 혼란을 줄이는 간결한 구문이 있습니다.