final,finally,finalize,final static 的区别

final:用来修饰类,变量,方法:

final修饰的类不能有子类,也不能被继承。

final修饰的变量是一个常量,不能重新赋值。

final修饰的方法不能重写。


finally:通常放在try…catch…的后面构造总是执行代码块,这就意味着程序无论正常执行还是发生异常,这里的代码只要JVM不关闭都能执行,可以将释放外部资源的代码写在finally块中。


finalize:finalize是方法名,GC在回收未被引用的对象时会调用此方法,finalize()是Object类中的,因此所有类都继承它。覆盖了finalize()但未被引用的对象在被GC回收之前如果被其他类或者方法引用就可以免除被回收的命运。


final static:static强调只有一份,final说明是一个常量,final定义的基本类型的值是不可改变的,但是final定义的引用对象的值是可用改变的,static final修饰的基本类型也不可以改变。



猜你喜欢

转载自blog.csdn.net/dx94sg/article/details/80433212
今日推荐