final
其英语翻译意思是最终的
1.final类 不能被继承(无子类),final类中的方法默认都是final的。
一般我们确定该类不需要子类,不允许改变时可用final修饰。
2.final方法 不能被覆盖,但可以被子类继承。
防止修改:当方法不需要改变时,用final可以达到方法锁定的效果。
高效:final方法会被转入内嵌机制,提高执行效率。
3.final修饰的成员变量 只能赋值一次,不能二次修改。但是可以提前声明,后赋值(但必须在创建对象前赋值)。
编辑器要确保空白final被执行前已初始化。
可以依据不同对象值不同,但却恒定不变。
public class Test1 {
public final int e;
//Test3 t = new Test3(2);实例化时传递不同的参数值不同,但恒定不变。
public Test1(int x) {
e = x;
}
}
4.final不能修饰构造方法。
finally
异常处理中使用,在try中要输出运行内容,在catch中捕获异常,无论运行成功还是失败都会执行,切可有可无,try与catch成对出现。
finalize()
finalize()是Object类的一个方法,在垃圾收集器回收对象时,要调用对象的finalize()方法,可以覆盖该方法使其可以回收其他资源,但JVM不能保证该方法总能调用。