final关键字
final关键字,final可以修饰类、方法、属性。 如果一个类被final修饰,那么这个类就是最终类,不能派生出新的子类,不能作为父类被继承,该类中的所有方法都不能被重写,但是final类中的成员变量是可以改变的,要想final类中的成员变量的不可以改变,必须给成员变量添加final修饰。因此,一个类不能同时被final和abstract修饰,这两个关键字相互矛盾。 如果final修饰方法,那么这个方法是最终方法,不允许任何子类重写该方法,但子类仍可以使用该方法,注意:final参数用来表示这个参数在这个函数内部不允许被修改。 final修饰属性,被final修饰的变量不可变。这里的不可变有两重含义:引用不可变和对象不可变。final指的是引用不可变,即它只能指向初始化时指向的那个对象,而不关心指向对象内容的变化。因此,被final修饰的变量必须初始化,该变量其实就是常量。
finally代码块
只能用于try...catch...finally语句中,无论try...catch语句是否抛出异常,finally代码块都会执行,它主要是用来释放应用占用的资源,如IO流和数据库资源的释放。
finalize()方法
finalize()方法也叫收尾方法,这是用于JAVA中的垃圾回收机制。在垃圾回收期准备好释放对象占用的内存时,首先会去调用finalize()方法进行一些必要的清理工作,当进入下一回收周期的时候,才会真正释放这个对象所占用的内存空间。