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

2024年 5月 1日 106.3k 0

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

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

Java 匿名内部类的生命周期

匿名内部类在创建后,其生命周期主要受其所在作用域的影响:

  • 方法局部内部类:仅在创建它的方法范围内有效。当方法退出时,内部类及其所有成员都会被释放。
  • 构造器内部类:在创建外部类实例后,构造器内部类就会生效。当外部类实例被释放时,内部类也会被释放。
  • 静态内部类:静态内部类与外部类同时加载。当外部类被卸载时,静态内部类也会被卸载。

实战案例:

创建匿名内部类实现 Comparable 接口:

List numbers = new ArrayList();

// 创建匿名内部类比较器
Comparator comparator = new Comparator() {
    @Override
    public int compare(Integer a, Integer b) {
        return a - b;
    }
};

// 根据比较器排序列表
Collections.sort(numbers, comparator);

在这个例子中,匿名内部类 comparator 用于对 numbers 列表进行排序。由于 comparator 是局部内部类,它只能在创建它的方法范围内使用。当 sort 方法执行完毕,comparator 也会被释放。

以上就是Java 匿名内部类的生命周期是怎样的?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论