<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Rocky Snail(小蝸牛)

    一步一步往上爬、小小的天、大大的夢想、 強健體魄、充實頭腦

     

    寫構造函數時應該注意的

    撰寫構造函數時,“盡可能簡單的讓對象進入正確狀態。如果可以的話別調用任何函數”,構造函數中唯一可以安全調用的函數時“base class中的final函數和private函數”,這樣的函數無法被重寫。
    原因:看下列程序。
         abstract class Glyph {
                abstract void draw();
              Glyph(){
                 System.out.println("Glyph() before draw()");
                 draw();  //注意這個函數,他的調用順序
                 System.out.println("Glyph after draw()");
             }
     
    }
     
    class RoundGlyph extends Glyph{
         int radius =  1;
         RoundGlyph(int r) {
           radius = r;
           System.out.println{
            "ToundGlyph.ToundGlyph(),radius = " + radius);
          }
         void draw(){
           System.out.println("RoundGlyph.draw(), radius = " + radius);
         }
    }


     public class PolyConstructors{
            public static void main(String args[]){
                new RoundGlyph(5);
            }
    }
    輸出的結果是:Glyph() before draw()
                                RoundGlyph.draw(), radius = 0
                                 Glyph() after draw()
                                 RoundGlyph.RoundGlyph(),  radius = 5
    我們看到在超類的構造函數中調用了一個抽象函數Draw(),這時radius尚未被初始化為1,所以其值為0。構造函數中不會為某個調用函數進行解析動態綁定,找出它隸屬的class,他的任務是對象從無到有,他最終調用的這個函數是位于他最終被覆寫的那個,而此時那個類還沒有完全初始化,這會造成災難性的后果。(出自JAVA編程思想 P239)。

    posted on 2006-03-13 11:50 Rockysnail 閱讀(325) 評論(0)  編輯  收藏 所屬分類: Java

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕无线码中文字幕免费| 亚洲av永久中文无码精品| 成人国产网站v片免费观看| 黄a大片av永久免费| 亚洲乱码中文字幕在线| 国内自产少妇自拍区免费| 在线亚洲高清揄拍自拍一品区| 日本一区二区三区免费高清| 国产亚洲sss在线播放| 成年女人男人免费视频播放| 亚洲国产精品ⅴa在线观看| 国产免费人成视频在线观看| 猫咪免费人成网站在线观看入口| 亚洲人成国产精品无码| 成全在线观看免费观看大全| 久久亚洲国产精品五月天| 91网站免费观看| 理论亚洲区美一区二区三区| 亚洲欧洲久久久精品| 性无码免费一区二区三区在线| 亚洲理论在线观看| 免费视频淫片aa毛片| 国产va免费精品| 亚洲男人天堂影院| 又黄又爽无遮挡免费视频| 暖暖免费在线中文日本| 香蕉大伊亚洲人在线观看| 亚洲国产精品毛片av不卡在线| 成人影片一区免费观看 | 亚洲精品无码成人片在线观看 | 色偷偷噜噜噜亚洲男人| 久久精品国产亚洲5555| 久久国产色AV免费观看| 性色av极品无码专区亚洲| 亚洲香蕉网久久综合影视| 中文字幕无码成人免费视频| 一进一出60分钟免费视频| 亚洲第一香蕉视频| 亚洲乱码中文字幕综合234| 222www免费视频| 成人嫩草影院免费观看|