匿名内部クラスのライフサイクルは、そのスコープによって決まります: メソッドローカル内部クラス: それを作成したメソッドのスコープ内でのみ有効です。コンストラクターの内部クラス: 外部クラスのインスタンスにバインドされ、外部クラスのインスタンスが解放されると解放されます。静的内部クラス: 外部クラスと同時にロードおよびアンロードされます。
Java 匿名内部クラスのライフ サイクル
匿名内部クラスの作成後、そのライフ サイクルは主に次の影響を受けます。効果:
実践的なケース:
匿名の内部クラス実装を作成する 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
も解放されます。
以上がJava 匿名内部クラスのライフサイクルは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。