final, finally, finalize的区别


final,它是一个修饰符,可以用于以下4个地方。

1. 定义变量,包括静态变量,非静态变量。当用final定义一个变量时,表示该变量是不可改变的,即常量。

2. 定义方法的参数。被final修饰的变量必须初始化,可以在变量定义时或者类的初始化块或者构造器中进行初始化工作。

3. 定义方法。 当用final定义一个方法时,表示这个方法不能被子类修改,但不影响子类继承它。

4. 定义类。 当用final定义一个类时,表示这个类不能被继承,即没有子类。我们常用的String类就是final型的。final定义的类中的所有方法不能被重写,但不代表final类中的属性值是不能改变的。

 

finally语句。它其实很简单,它只能用在try/catch语句中,附带一个语句块,表示该语句块中的内容最终总是被执行,无论捕获异常成功与否。

finalize,它是一个方法,是GC(garbage collection)运行机制的一部分。该方法可以告诉GC在清理对象时要完成的一些任务。

posted @ 2017-07-28 16:13  秋裤队长  阅读(143)  评论(0编辑  收藏  举报