Java中final關鍵字用在以下三種情況:
          1、聲明常量
          2、將某個方法聲明為final
          3、將某個類聲明為final
          第一種情況很簡單,而且它經常配合static使用,因為既然是常量,則對于所有實例都是
          一樣的,它不隨著實例而變化,所以將其聲明為static。但有一點需要注意,即當聲明了
          一個final的object reference時,注意,這時誰為常量?是reference本身還是referenc
          e指向的對象?答案是前者,例:
          public class Circle
          {
          private double rad;
          public Circle(double r)
          {
            rad = r;
          }
          public void setRadius(double r)
          {
            rad = r;
          }
          public double getRadius()
          {
            return rad;
          }
                    public static void main(String[] args)
                    {
                              private static final Circle p = new Circle(5);
                              p.setRadius(7);           //OK,因為p為常量,但它所引用的

                                                        //對象不是常量
                              p = new Circle(7);        //Error,改變了常量p的值
          }


          由于缺省情況下,classes所有的non-private,non-static函數都可以被子類所復寫(over
          ride),那么如何做才能阻止子類復寫某個函數呢?答案是將該方法聲明為final。例:

          public class Base
          {
          public void foo()
          {
           
          }
          public final void bar()
          {
           
          }
          }
          public class Derived extends Base
          {
          public void foo()
          {
           
          }
          /**
            * can't override the final method of base class
            */
          // public void bar()
          // {
          // 
          // }
          }


          那么關于final class,我想大家都可以猜出來了,對,它的目的就是防止它派生出子類,
          其實,它的作用等價于將該class里面的所有方法都聲明為final了。《完》
          posted on 2005-12-30 16:15 未來刀客 閱讀(1003) 評論(0)  編輯  收藏 所屬分類: Java技術

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 朝阳市| 西林县| 重庆市| 三亚市| 色达县| 禹州市| 黔江区| 海宁市| 渝北区| 六枝特区| 郁南县| 平南县| 岗巴县| 怀安县| 上饶县| 祁阳县| 怀集县| 长沙市| 鹰潭市| 高尔夫| 甘肃省| 个旧市| 衡阳市| 兰溪市| 宜川县| 无棣县| 永和县| 金堂县| 镇江市| 达孜县| 杭锦旗| 泗水县| 西城区| 浦江县| 攀枝花市| 阿拉尔市| 兴化市| 台安县| 云阳县| 琼海市| 东兴市|