익명 내부 클래스의 수명 주기는 해당 범위에 따라 결정됩니다. 메서드-로컬 내부 클래스: 이를 생성한 메서드 범위 내에서만 유효합니다. 생성자 내부 클래스: 외부 클래스 인스턴스에 바인딩되고 외부 클래스 인스턴스가 해제될 때 해제됩니다. 정적 내부 클래스: 외부 클래스와 동시에 로드 및 언로드됩니다.
Java 익명 내부 클래스의 수명 주기
익명 내부 클래스가 생성된 후 해당 수명 주기는 주로 해당 클래스가 위치한 범위에 따라 영향을 받습니다.
실용 사례:
익명 내부 클래스를 만들어 Comparable
인터페이스를 구현합니다. Comparable
接口:
List<Integer> numbers = new ArrayList<>(); // 创建匿名内部类比较器 Comparator<Integer> comparator = new Comparator<Integer>() { @Override public int compare(Integer a, Integer b) { return a - b; } }; // 根据比较器排序列表 Collections.sort(numbers, comparator);
在这个例子中,匿名内部类 comparator
用于对 numbers
列表进行排序。由于 comparator
是局部内部类,它只能在创建它的方法范围内使用。当 sort
方法执行完毕,comparator
rrreee
comparator
를 사용하여 숫자
목록을 비교하여 정렬하세요. comparator
는 로컬 내부 클래스이므로 이를 생성한 메서드 범위 내에서만 사용할 수 있습니다. sort
메서드가 완료되면 comparator
도 해제됩니다. 🎜위 내용은 Java 익명 내부 클래스의 라이프사이클은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!