kri*_*ico 270
final 可用于标记变量"不可更改"
private final String name = "foo"; //the reference name can never change
Run Code Online (Sandbox Code Playgroud)
final 也可以使方法不"重写"
public final String toString() { return "NULL"; }
Run Code Online (Sandbox Code Playgroud)
final也可以使一个类不"可继承".即该类不能被子类化.
public final class finalClass {...}
public class classNotAllowed extends finalClass {...} // Not allowed
Run Code Online (Sandbox Code Playgroud)
finally在try/catch语句中用于执行代码"always"
lock.lock();
try {
//do stuff
} catch (SomeException se) {
//handle se
} finally {
lock.unlock(); //always executed, even if Exception or Error or se
}
Run Code Online (Sandbox Code Playgroud)
Java 7有一个新的try with resources语句,您可以使用它来自动关闭显式或隐式实现java.io.Closeable或java.lang.AutoCloseable的资源
finalize在对象被垃圾收集时调用.你很少需要覆盖它.一个例子:
protected void finalize() {
//free resources (e.g. unallocate memory)
super.finalize();
}
Run Code Online (Sandbox Code Playgroud)
Kev*_*n R 19
http://allu.wordpress.com/2006/11/08/difference-between-final-finally-and-finalize/
最后 - 不断声明.
finally - finally块总是在try块退出时执行,但System.exit(0)调用除外.这确保即使发生意外异常也会执行finally块.但最终不仅仅是异常处理有用 - 它允许程序员避免因返回,继续或中断而意外绕过清理代码.将清理代码放在finally块中始终是一种很好的做法,即使没有预期的例外情况也是如此.
finalize() - 方法有助于垃圾收集.在垃圾收集器丢弃对象之前调用的方法,允许它清理其状态.不应该用于释放非内存资源,如文件句柄,套接字,数据库连接等,因为Java只有有限数量的这些资源,并且您不知道垃圾收集何时会启动以释放这些非内存资源通过finalize()方法.
您是否尝试在Google上搜索,需要澄清一下解释?
final关键字用于声明常量.
final int FILE_TYPE = 3;
Run Code Online (Sandbox Code Playgroud)
finally关键字在try catch语句中用于指定要执行的代码块,而不管抛出的异常.
try
{
//stuff
}
catch(Exception e)
{
//do stuff
}
finally
{
//this is always run
}
Run Code Online (Sandbox Code Playgroud)
最后(哈哈),finalize我不完全确定是一个关键字,但在Object类中有一个finalize()函数.
final: final是关键字.作为final的decleared应该只初始化一次,不能更改.声明为final的Java类无法扩展.声明为final的方法不能被覆盖.
最后: 终于是一个块.当try块退出时,finally块总是执行.这确保即使发生意外异常也会执行finally块.但最终不仅仅是异常处理有用 - 它允许程序员避免因返回,继续或中断而意外绕过清理代码.将清理代码放在finally块中始终是一种很好的做法,即使没有预期的例外情况也是如此.
finalize: finalize是一种方法.在对象被垃圾回收之前,运行时系统会调用其finalize()方法.在收集垃圾之前,您可以在finalize()方法中编写系统资源释放代码.
| 归档时间: |
|
| 查看次数: |
101580 次 |
| 最近记录: |