首页  >  文章  >  Java  >  Java 匿名内部类的生命周期是怎样的?

Java 匿名内部类的生命周期是怎样的?

王林
王林原创
2024-05-01 16:06:01945浏览

匿名内部类的生命周期由其作用域决定:方法局部内部类:仅在创建它的方法范围内有效。构造器内部类:与外部类实例绑定,当外部类实例释放时释放。静态内部类:与外部类同时加载卸载。

Java 匿名内部类的生命周期是怎样的?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn