栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java final & finally & finalize区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java final & finally & finalize区别

文章目录

Java final & finally & finalize区别

final

匿名内部类 finallyfinalize

Java final & finally & finalize区别 final

final可以用来修饰类、方法、变量:

修饰类,表示类不能被继承扩展;修饰方法,表示方法不能被重写;修饰变量,表示变量的引用不能被修改。

推荐使用final关键字来明确代码的语义、逻辑意图。final也许会有性能的好处,利用final可能有助于JVM将方法进行内联,可以改善编译器进行条件编译的能力等。

匿名内部类
public class Demo {
    public static void main(String[] args) {
        final int x = 100;
        new Inner() {
            @Override
            public void run() {
                System.out.println(x);
            }
        }.run();
    }
}

interface Inner {
    void run();
}

匿名内部类访问局部变量时,局部变量需要用final修饰,这是因为内部类会实际拷贝一份,而不是直接使用局部变量,可以防止出现数据一致性问题。

finally

finally是保证Java代码一定要被执行的一种机制。可以使用try-finally或try-catch-finally进行关闭资源等操作。

以下是例外

try {
    System.exit(1);
} finally {
    System.out.println("end");
}
finalize

finalize是基础类java.lang.Object的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源等回收。

finalize机制限制已经不推荐使用,并且在JDK 9开始被标记为丢弃。简单说,你无法保证finalize什么时候执行,执行是否符合预期。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/726427.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号