Java面试 - final、finally、finalize的区别?
final :用于声明属性, 方法和类,分别表示属性不可变、方法不可覆盖、被其修饰的类不可继承。 finally :异常处理语句结构的一部分,表示总是执行。 finalize :Object 类的一个方法,在垃圾回收器执行的时候会调用被回收对象的finalize()方法。JVM不保证此方法总被调用。 举例: 修改被final修饰的属性nickName public class Student{ public static void main(String[] args) { final String nickName ="Jack"; nickName = "Jack Ma"; } } 运行结果 Error:(27, 5) java: 无法为最终变量nickName分配值 由此说明被final 修饰的属性是不可变的。 那么,final 修饰的方法setName()是否可以被重写呢? class Person { private String name; public final void setName(String name){ this.name = name; } } public class Student extends Person{ // 重写被final 修饰的setName()方法 public void setName(String name){ System