在 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
用于 execute code "always" 的 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 有一个 new try with resources statement可用于自动关闭显式或隐式实现的资源 java.io.Closeable或 java.lang.AutoCloseable
敲定
finalize
在对象被垃圾回收时调用。您很少需要覆盖它。一个例子:
protected void finalize() {
//free resources (e.g. unallocate memory)
super.finalize();
}
关于java - 在 Java 中,关键字 `final` 、 `finally` 和 `finalize` 实现什么目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814688/