当前位置:才华咖 > 互联网计算机 > 计算机 > java语言 > java基础之final、finally和finalize的区别
手机版

java基础之final、finally和finalize的区别

来源:才华咖 阅读:2.06W 次

在java 基础中,final、finally和finalize的区别有哪些?下面本站小编带大家一起来看看详细内容,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!

java基础之final、finally和finalize的区别

l可以修饰类,不能被继承;可以修饰方法,不能被重写;可以修饰变量,只能赋值一次。

lly是try语句中的语句体,不能单独使用,用来释放资源;

lize是一个方法,当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

  如下代码程序:

package ;

/**

  * 面试题1:final,finally和finalize的区别:

*

* final可以修饰类,不能被继承;

* 可以修饰方法,不能被重写

* 可以修饰变量,只能赋值一次。

* finally是try语句中的语句体,不能单独使用,用来释放资源;

* finalize是一个方法,当垃圾回收器确定不存在对该对象的更多引用时,由对象

* 的垃圾回收器调用此方法。

*

*

  * 面试题2:如果catch里面有return语句,请问finally的代码还会被执行吗?

* 如果会,请问是在return前还是在return后?

* 会。在return前。

*

* @author Rocky

*

*/

public class FinallyDemo8 {

public static void main(String[] args) {

Demo d = new Demo();

tln(od());

}

}

class Demo {

public int method() {

int x = 10;

try {

x = 20;

tln(1/0);

return x;

} catch (Exception e) {

x = 30;

return x;

} finally {

/*

* finally中不应当有return语句

* 否则该方法一定会返回这里的内容

*/

x = 40;

return 40;

//千万不要在finally里面写返回语句,因为finally的`作用是

//释放资源,是肯定会执行的,如果在这里面写返回语句,那么try和cache

//的结果都会被改变,所以这么写就是犯罪!!!

}

}

}

10Java中HashMap和TreeMap的区别深

本文链接:https://www.caihuaka.com/jsjzs/java/gld88.html

Copyright © 2024. 才华咖 All right reserved. 浙ICP备20120231号-3

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。