final修饰的是一个基本对象,就表示这个变量被赋予的值是不可变的,它是一个常量。而且表示它只能被赋值一次。java
被final定义的变量必须被初始化:1》在定义时被初始化。 2》final变量在初始化模块中初始化,不能够在静态块中初始化。 3》静态final变量在静态初始化块中初始化,不能够在初始化模块中初始化。 4》final变量能够在类的构造器中初始化,但静态final变量不能够。spa
被final定义的方法,不能够被子类重写,但不影响它被子类继承。code
被final定义的类不能被继承,因为关键字abstract定义的抽象类必须被继承它的子类重写而实现抽象类中的方法,因此final和abstract不能用来修饰同一个类。对象
finally关键字只能用于try/catch语句中:blog
try{ }catch{ }finally{ System.out.println("执行了finally语句块"); }
输出"执行了finally语句块"说明程序抛出了异常,执行finally语句块捕获程序抛出的异常以后,即不加处理,
也不继续向上抛出异常。
并且finally语句块不受return,continue和break关键字的阻碍。
inalize关键字最后,咱们再来看看finalize,它是一个方法,属于java.lang.Object类,它的定义以下:Java代码protected void finalize() throws Throwable { }众所周知,finalize()方法是GC(garbage collector)运行机制的一部分。