finally ,final,finalize的关系?

it2023-11-09  78

finally ,final,finalize

finallyfinalfinalize

finally

finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源比如流的情况下。


final

【final】可修饰类,方法,变量。 如果修饰类,则该类无法被继承。 如果修饰方法,改方法无法被重写。 如果修饰的是基本数据类型变量,则该无法被赋予其他值。 如果是引用数据类型变量,那么得具体讨论。 例如String和StringBuffer。 修饰String,则无法指向其他对象。 修饰StrinBuffer,无法指向其他对象,但是可以改变值。


finalize

finalize()是在java.lang.Object里定义的,每一个Java对象都有这么个方法。这个方法在gc(垃圾回收机制)启动,该对象被回收的时候被调用。其实gc可以回收大部分的对象(凡是new出来的对象,gc都能搞定,一般情况下我们又不会用new以外的方式去创建对象),所以一般是不需要程序员去实现finalize的,目前已经过时。


最新回复(0)