finally关键字

finally的特点

被finally控制的语句体一定会执行,除非在执行finally语句体之前JVM退出(比如System.exit(0)),一般用于关闭资源

finally如何使用?

finally语句块可以直接和try语句块联用:try….finally…(这种用的比较少)

也可以这样使用:try…catch….finally

即使在方法里面执行了return,finally中的代码也会执行

只有当finally语句执行之前,JVM退出了,finally才不会执行:

小练

1.下面程序的打印结果是什么?

2.final,finally和finalize的区别?

答案

1.程序在执行到return i时,会先将i赋给一个临时变量,return的是这个临时变量:int temp = i;return temp;,然后再执行finally中的语句,打印出了11,之后再执行main方法中的语句,打印出10。

2.这三个关键字其实没有什么关系,只不过在单词的拼写上面相似。

final

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

修饰方法,不能被重写

修饰变量,只能赋值一次

finally是try语句中的一个语句体,不能单独使用,语句体中的语句一定会执行。

finalize是Object中的一个方法,当没有引用指向这个对象时,由对象的垃圾回收器在回收之前调用此方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容