java以前的筆記(二)

          this和supper關鍵字

          一個是this另外一個是supper。
            首先介紹supper吧。它比較好介紹點。
          大家都知道java中很重要的就是類的概念。而類可以被繼承的,被繼承的類稱為父類,繼承的那個類稱為子類。
          而父類又被稱為超類,所以這超類就比較容易說點。這也是區分使用this和supper的好方法吧。
          Super是子類調用當前對象父類的構造函數(且必須是構造函數)方法,在這必須注意的是構造函數。如有不懂的可看書,什么是構造函數,在這就不寫了。
          This是調用當前構造函數的方法.
          而且都只能在類的第一個寫。

          如果子類的函數或對象把父類的函數或對象覆蓋了。而且子類又想使用父類的函數或對象,就得使用super來調用。

          在來就是我看到的以個很經典的程序。

          public class ATM 

                   
          public Account a; 
                   
          public ATM (Account s) 
                   { 
                             a
          =s; 
                   } 
          這是程序的第一個類。
          public class Account 

                   
          public ATM b; 
                   
          public int No=10
                   
          void openATM() 
                   { 
                             b
          =new ATM(this); 
                   } 
          這是程序的第二個類。
          public class Example12 

                   
          public static void main(String arg[]) 
                   { 
                             Account m
          =new Account(); 
                             m.openATM(); 
                             System.out.println(m.No); 
                             System.out.println(m.b.a.No); 
                   } 
          這是主程序。

          可以看到的是this的使用,并不是一定的,this是調用當前構造函數的,呵呵··
          似乎很迷糊吧。
          看  b=new ATM(this);
          而這個ATM中的this又是指的什么呢?
            看看上面  看ATM類,指的是什么?Account s,它又是什么呢?a=s··
            這下就明白了,其實 這this就是a。
            再看主程序,
                             System.out.println(m.No);
                             System.out.println(m.b.a.No);
          第一個輸出是10.想必大家都知道,第二個呢?
          m.b.a.No呢?
          看····m.openATM();
              還有  
                   void openATM()
                   {
                             b=new ATM(this);
                   }
          而那個
                   public ATM (Account s)
                   {
                             a=s;
                   }
          看到了么?
            他們之間的調用,其實程序最后  就是m.No很多人都不懂這是為什么。
          慢慢看吧··
          看明白了就知道了。

          posted on 2009-07-15 06:00 duduli 閱讀(1257) 評論(1)  編輯  收藏 所屬分類: java

          評論

          # re: java以前的筆記(二) 2009-07-15 11:55 99讀書人

          不錯哦  回復  更多評論   

          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          公告

          welcome to my place.

          常用鏈接

          留言簿(5)

          我參與的團隊

          隨筆分類

          隨筆檔案

          新聞分類

          石頭JAVA擺地攤兒

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          @duduli
          主站蜘蛛池模板: 岳阳市| 潍坊市| 苍溪县| 睢宁县| 冷水江市| 景德镇市| 金寨县| 丹棱县| 雷山县| 凤台县| 黄平县| 盐津县| 新巴尔虎右旗| 武穴市| 睢宁县| 温州市| 福贡县| 霍林郭勒市| 赤水市| 榆林市| 深泽县| 滨海县| 临颍县| 河南省| 栾川县| 宁津县| 高邮市| 威信县| 临猗县| 张家川| 北碚区| 秭归县| 卢龙县| 南城县| 寻甸| 通许县| 剑川县| 大同市| 中牟县| 黔江区| 灵山县|