java基础07-final、finally和finalize的区别是什么?

1.final用于声明属性、方法和类,分别表示属性不可改变(常量),方法不可覆盖类不可继承
2.finally是异常处理语句结构的一部分,表示总是执行
3. finalize是java.lang.Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。

用法:如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。方法声明为final,它们在使用中将不被改变,只能使用,不能重载。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
而finally是异常处理的一部分,用于释放资源。有finally,代码肯定会执行它,除非在finally之前JVM退出,才不会执行。finalize是Object类的一个方法,用于垃圾回收。
代码举例:

public class Example {  
    // final的例子  
    final int x = 10; // 常量,不可改变  
    final void show() { // 方法不可覆盖  
        System.out.println("This is a final method.");  
    }  
    final class InnerClass { // 类不可继承  
        void show() {  
            System.out.println("This is a final inner class.");  
        }  
    }  
 
    // finalize的例子(注意:finalize方法已经在Java 9中被标记为已过时,因此这个例子在实际应用中已经很少使用)  
    @Override  
    protected void finalize() throws Throwable { // Object类的finalize方法  
        System.out.println("finalize method called.");  
        super.finalize(); // 调用父类的finalize方法  
    }  
}
    // finally的例子  
    public static void main(String[] args) {  
        try {  
            //代码块
        } catch (Exception e) {  
            System.out.println("执行遇到异常");  
        } finally {  
            System.out.println("无论代码是否抛出异常,总会走到这个方法里");  
        }  
    }  
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值