Java中的finally语句一定会执行嘛?不一定

1. 如果没进try语句之前程序就出现异常,会直接结束程序,不会执行finall块中语句

2. 如果在try语句块里强制退出:System. exit(0);也不会执行finally中的语句。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: final关键字用于修饰类、方法和变量,用来保证不被改变或重写;finally块是异常处理程序的一部分,在异常处理程序的最后一定执行finalize方法是Object类定义的一个方法,当垃圾收集器确定不存在对该对象的引用时,由垃圾收集器调用此方法。 ### 回答2: 在Javafinalfinallyfinalize这三个关键词有不同的作用和含义。 1. finalfinalJava的关键字,可以用来修饰类、方法和变量。当类被声明为final时,该类无法被继承;当方法被声明为final时,该方法无法被子类重写;当变量被声明为final时,该变量成为常量,一旦被赋值后就不能再改变。final关键字可以提高程序的性能,同时也可以提高程序的安全性。 2. finallyfinally也是Java的关键字,用于定义一个代码块,该代码块的代码无论是否抛出异常,都执行。通常情况下,finally代码块用于释放资源、关闭数据库连接或者其他必须执行的操作。不管try-catch块是否抛出异常,finally代码块的代码都执行。 3. finalize:finalize是一个方法,是由Java虚拟机在垃圾回收器确定没有引用指向该对象时调用的。一般情况下,我们不需要手动重写该方法,因为它在Java8已经被废弃。该方法的作用是在对象被回收之前进行一些清理工作,如关闭与对象相关的资源等。 总结起来,final用于修饰类、方法和变量,表示不可改变的;finally用于定义一个代码块,保证其的代码无论如何都执行finalize是一个方法,在对象被回收之前进行一些清理工作。 ### 回答3: 在Javafinalfinallyfinalize是三个不同的概念。 1. final是一个关键字,用于修饰类、方法和变量。当final用于类时,表示该类不能被继承;当final用于方法时,表示该方法不能被子类重写;当final用于变量时,表示该变量的值不能被更改。final能够保证数据的不可变性和方法的稳定性。 2. finally也是一个关键字,用于定义在try-catch语句块。不论是否发生异常,finally的代码都执行finally常用于资源的释放,保证资源被正确关闭,即使异常被捕获或未被捕获。 3. finalize是Object类的一个方法,在垃圾回收器确定该对象没有被引用时调用。finalize()方法的主要作用是在对象即将被销毁之前进行资源释放和清理工作。但是finalize()方法在现代的Java编程已经不建议使用,因为具体的调用时间是不确定的,可能导致资源泄漏和性能问题。 总结: - final是关键字,用于修饰类、方法和变量,分别表示不可继承、不可重写和不可修改。 - finally是关键字,用于定义在try-catch语句语句块,无论是否发生异常,都执行的代码。 - finalize是Object类的方法,用于在对象被回收前进行资源释放和清理工作,但不推荐使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值