>Java >java지도 시간 >Java에서 익명 내부 클래스를 만드는 방법은 무엇입니까?

Java에서 익명 내부 클래스를 만드는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-05-01 08:39:01416검색

익명 내부 클래스는 명시적인 이름 없이 인스턴스를 생성할 때 정의되는 내부 클래스입니다. 구문: new 57d4cb50a6a810b5c614cb314e98f3f9() { // 익명 내부 클래스 본문}. 장점: 단순성, 코드 재사용, 로컬 범위. 단점: 가독성이 좋지 않고 디버깅이 어렵다. 실제 예로는 익명 클래스 재정의 및 익명 인터페이스 구현이 포함됩니다.

Java 匿名内部类如何创建?

Java 익명 내부 클래스 생성 가이드

익명 내부 클래스란 무엇인가요?

익명 내부 클래스는 인스턴스 생성 시 정의되는 내부 클래스입니다. 명시적인 이름이 없으며 짧은 시간 내에 클래스나 인터페이스를 재정의하거나 구현하는 데 자주 사용됩니다.

익명 내부 클래스 만들기

Java에서 익명 내부 클래스를 만들려면 다음 구문을 사용하세요.

new <基类或接口名>() {
    // 匿名内部类体
};

기본 클래스 또는 인터페이스 이름은 익명 내부 클래스가 상속하거나 구현할 클래스 또는 인터페이스입니다. 클래스 본문에는 익명 내부 클래스의 메서드와 필드에 대한 정의가 포함되어 있습니다.

실제 사례

1. 익명 클래스 재정의

익명 내부 클래스를 사용하여 Runnable 클래스의 run() 메서드를 재정의하세요. Runnable 类的 run() 方法:

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("匿名内部类线程运行");
    }
});

thread.start();

2. 实现匿名接口

使用匿名内部类实现 Comparator

List<String> strings = new ArrayList<>();

Comparator<String> comparator = new Comparator<>() {
    @Override
    public int compare(String s1, String s2) {
        return s1.length() - s2.length();
    }
};

strings.sort(comparator);

2. 익명 인터페이스 구현

익명 내부 클래스를 사용하여 Comparator 인터페이스 구현:
    rrreee
  • 장점
  • 단순성:
  • 익명 내부 클래스는 별도의 클래스를 정의하지 않고 직접 생성 가능 파일.
  • 코드 재사용:
  • 한 번만 사용되는 임시 구현을 만드는 데 사용할 수 있습니다.

로컬 범위: 익명 내부 클래스는 이를 생성한 클래스 또는 메서드의 범위 내에서만 액세스할 수 있습니다.

  • 단점
  • 가독성:
  • 익명 내부 클래스는 코드를 읽고 이해하기 어렵게 만들 수 있습니다.
🎜🎜디버깅 어려움: 🎜익명 내부 클래스에는 이름이 없으므로 디버깅할 때 추적하기가 더 어려울 수 있습니다. 🎜🎜

위 내용은 Java에서 익명 내부 클래스를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.