final,finally和finalize

(1)final用于声明属性,方法和类,表示属性不可变,方法不能被重写,类不能被继承

使用final修饰的引用不可变,指的是引用不可变,但是引用内容可以变

final StringBuffer s = new StringBuffer("Hello");
s.append(" world");
System.out.println(s)

  结果是:Hello World

但是

final StringBuffer s = new StringBuffer("Hello");
s = new StringBuffer(" World");

  就会报错,所以final修饰的引用不可以变,但是内容是可以更改的

final方法:该方法不能被子类重写。

final参数:表示该参数在这个函数内部不允许被修改。

final类:表示该类不能被继承,所有方法不能被重写。但是成员变量是可以变的;String和StringBuffer类不能被继承

(2)finally作为异常处理的一部分,表示一定会被执行

(3)finalize用于资源回收。

原文地址:https://www.cnblogs.com/TaoChiangBlog/p/6402263.html