在Java中,关键字“final”,“finally”和“finalize”实现了什么目的?[已关闭]最后最后完成
在Java中,关键字和实现的目的是什么?final
finally
finalize
在Java中,关键字和实现的目的是什么?final
finally
finalize
final
可用于将变量标记为“不可更改”
private final String name = "foo"; //the reference name can never change
final
还可以使方法不“可重写”
public final String toString() { return "NULL"; }
final
还可以使类不“可继承”。即该类不能被子类化。
public final class finalClass {...}
public class classNotAllowed extends finalClass {...} // Not allowed
finally
在 try/catch 语句中用于“始终”执行代码
lock.lock();
try {
//do stuff
} catch (SomeException se) {
//handle se
} finally {
lock.unlock(); //always executed, even if Exception or Error or se
}
Java 7 有一个新的 try with resources 语句,可用于自动关闭显式或隐式实现 java.io.Closeable 或 java.lang.AutoCloseable 的资源
finalize
在对对象进行垃圾回收时调用。您很少需要覆盖它。例如:
protected void finalize() {
//free resources (e.g. unallocate memory)
super.finalize();
}