中国星星

向往自由的空气/灿烂的阳光/轻柔的风……

 

关键字final、finally和方法finalize()

关键字final

 

1、声明变量,阻止对其内容进行修改:

 

Java代码
final int FILE_NEW = 1; 

final int FILE_NEW = 1;

 

2、在继承中使用:

 

    a、阻止重写

 

Java代码
class A {   
    final void meth() {   
        System.out.println("The final method.");   
      }   
}   
 
class B extends A {   
    void meth() { //错误的,无法继承。  
        System.out.println("Illegal.");  
      }   
}  

class A {
    final void meth() {
        System.out.println("The final method.");
      }
}

class B extends A {
    void meth() { //错误的,无法继承。
        System.out.println("Illegal.");
      }

    声明为final的方法有时候可以提高程序性能。

 

    b、使用final阻止继承

 

Java代码
 final class A {   
        //...   
}  
 
class B extends A {     //错误的   
        //...   
}  

 final class A {
        //...
}

class B extends A {     //错误的
        //...

    声明一个类为final则隐式的声明了它的所有方法也为final,声明一个类既是abstract又是final是不合法的。

 

关键字finally

 

    当抛出异常的时候,方法内的程序会采取一种突变的非线性的路线,这样就改变了方法内的正常程序流。根据方法的编码形式,异常可能使方法过早的返回。finally就是用来解决这种意外事件的。 finally创建一个代码块,该代码将在执行完成try/catch块之后执行try/catch块后面的代码之前被执行。无论是否抛出异常,finally块都将执行。如果抛出异常,即使没有catch语句匹配这个异常,finally块也将执行。

 

方法finalize()

 

    在撤销一个对象的时候,有时候需要完成一些操作。比如:一个对象正持有某些非Java资源,要确保在对象被销毁之前释放这些资源。为处理这种情况Java提供了一种称为结束(finalization)的机制。使用结束,可以定义特殊的动作,这种动作在一个对象要被垃圾收集器收回时执行。要给一个类添加结束器,只需定义finalize()方法。

 

Java代码
protected void finalize()   
{   
        // finalization code here   

protected void finalize()
{
        // finalization code here
}

posted on 2008-10-31 09:46 Jesin 阅读(290) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(1)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜