mvc 架構

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            74 Posts :: 60 Stories :: 5 Comments :: 0 Trackbacks
          posted on 2007-12-09 17:46 e全 閱讀(127) 評論(0)  編輯  收藏

          通過用static來定義方法或成員,為我們編程提供了某種便利,從某種程度上可以說它類似于C語言中的全局函數和全局變量。但是,并不是說有了這種便利,你便可以隨處使用,如果那樣的話,你便需要認真考慮一下自己是否在用面向對象的思想編程,自己的程序是否是面向對象的。好了,現在開始討論this&super這兩個關鍵字的意義和用法。
            在Java中,this通常指當前對象,super則指父類的。當你想要引用當前對象的某種東西,比如當前對象的某個方法,或當前對象的某個成員,你便可以利用this來實現這個目的,當然,this的另一個用途是調用當前對象的另一個構造函數,這些馬上就要討論。如果你想引用父類的某種東西,則非super莫屬。由于this與super有如此相似的一些特性和與生俱來的某種關系,所以我們在這一塊兒來討論,希望能幫助你區分和掌握它們兩個。
            在一般方法中
            最普遍的情況就是,在你的方法中的某個形參名與當前對象的某個成員有相同的名字,這時為了不至于混淆,你便需要明確使用this關鍵字來指明你要使用某個成員,使用方法是“this.成員名”,而不帶this的那個便是形參。另外,還可以用“this.方法名”來引用當前對象的某個方法,但這時this就不是必須的了,你可以直接用方法名來訪問那個方法,編譯器會知道你要調用的是那一個。下面的代碼演示了上面的用法:
          public class DemoThis
          { 
          private String name; 
          private int age; 
          DemoThis(String name,int age){  
          setName(name);
          //你可以加上this來調用方法,像這樣:this.setName(name);但這并不是必須的  
          setAge(age);  
          this.print(); br> }  
          public void setName(String name){  
          this.name=name;//此處必須指明你要引用成員變量 
          }
          public void etAge(int age){ 
          this.age=age; 
          } 
          public void print(){  
          System.out.println("Name="+name+" ge="+age);
          //在此行中并不需要用this,因為沒有會導致混淆的東西 
          } 
          public static void main(String[] args){  
          DemoThis dt=new DemoThis("Kevin","22");
            這段代碼很簡單,不用解釋你也應該能看明白。在構造函數中你看到用this.print(),你完全可以用print()來代替它,兩者效果一樣。下面我們修改這個程序,來演示super的用法。


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


          網站導航:
           
          主站蜘蛛池模板: 科技| 商水县| 疏附县| 朝阳市| 淮北市| 岫岩| 乌拉特前旗| 星座| 堆龙德庆县| 新乐市| 尚义县| 时尚| 子长县| 惠东县| 彭泽县| 海门市| 外汇| 南乐县| 滦南县| 耒阳市| 东光县| 遂溪县| 收藏| 嵊州市| 盐津县| 盐山县| 巨野县| 丹巴县| 昌黎县| 图们市| 南华县| 玛多县| 陈巴尔虎旗| 枝江市| 县级市| 宾阳县| 资兴市| 宁乡县| 青岛市| 彰武县| 任丘市|