今天我要总结的是final和finally和finalize区别以及fianlly和return的区别
final:修饰词,可以修饰类、方法、变量
修饰类,类不能被继承
修饰方法,方法不能被重写
修饰变量,如果是全局变量,定义时必须赋初值,基本数据类型值不能被改变,引用数据类型地址不能被改变,如果修饰的是局部变量,基本数据类型值不能被改变,引用数据类型地址不能被改变。
finally:finally和try-catch一起使用,在异常处理中,无论是否抛异常都执行finally中代码,常用来进行关流操作。
finalize:每个对象中的方法,在垃圾回收机制回收该对象时先调用finalize方法,该方法会使该对象复活,垃圾回收机制不再对其回收。
finally和return的关系
try-catch-finally都有return语句,执行的是finally中return语句。try-catch-finally中,如果finally中没有return语句。不抛异常执行try中return语句,抛异常执行catch中return语句。在return之前执行finally中代码,执行完再执行对应的return语句,但是finall中代码虽然被执行,不影响返回结果。
在fianlly-return这里我昨天做了一道写运行结果的题,题目为:
public class FinallyTest {
public static void main(String[] args) {
System.out.println(new FinallyTest().test());
}