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 閱讀(1248) 評論(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
          主站蜘蛛池模板: 山阴县| 甘孜| 枝江市| 云浮市| 左云县| 泾源县| 无锡市| 巴东县| 武威市| 河池市| 南溪县| 区。| 巴塘县| 溧水县| 盖州市| 禄劝| 韶关市| 迁安市| 油尖旺区| 桂东县| 辽宁省| 崇左市| 报价| 建宁县| 尼木县| 镶黄旗| 福安市| 武定县| 新和县| SHOW| 长治县| 涞水县| 侯马市| 呼和浩特市| 英德市| 广水市| 永修县| 政和县| 轮台县| 瓮安县| 安徽省|