mvc 架構(gòu)

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

          通過用static來定義方法或成員,為我們編程提供了某種便利,從某種程度上可以說它類似于C語言中的全局函數(shù)和全局變量。但是,并不是說有了這種便利,你便可以隨處使用,如果那樣的話,你便需要認真考慮一下自己是否在用面向?qū)ο蟮乃枷刖幊蹋约旱某绦蚴欠袷敲嫦驅(qū)ο蟮摹:昧耍F(xiàn)在開始討論this&super這兩個關(guān)鍵字的意義和用法。
            在Java中,this通常指當前對象,super則指父類的。當你想要引用當前對象的某種東西,比如當前對象的某個方法,或當前對象的某個成員,你便可以利用this來實現(xiàn)這個目的,當然,this的另一個用途是調(diào)用當前對象的另一個構(gòu)造函數(shù),這些馬上就要討論。如果你想引用父類的某種東西,則非super莫屬。由于this與super有如此相似的一些特性和與生俱來的某種關(guān)系,所以我們在這一塊兒來討論,希望能幫助你區(qū)分和掌握它們兩個。
            在一般方法中
            最普遍的情況就是,在你的方法中的某個形參名與當前對象的某個成員有相同的名字,這時為了不至于混淆,你便需要明確使用this關(guān)鍵字來指明你要使用某個成員,使用方法是“this.成員名”,而不帶this的那個便是形參。另外,還可以用“this.方法名”來引用當前對象的某個方法,但這時this就不是必須的了,你可以直接用方法名來訪問那個方法,編譯器會知道你要調(diào)用的是那一個。下面的代碼演示了上面的用法:
          public class DemoThis
          { 
          private String name; 
          private int age; 
          DemoThis(String name,int age){  
          setName(name);
          //你可以加上this來調(diào)用方法,像這樣: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,因為沒有會導(dǎo)致混淆的東西 
          } 
          public static void main(String[] args){  
          DemoThis dt=new DemoThis("Kevin","22");
            這段代碼很簡單,不用解釋你也應(yīng)該能看明白。在構(gòu)造函數(shù)中你看到用this.print(),你完全可以用print()來代替它,兩者效果一樣。下面我們修改這個程序,來演示super的用法。


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 环江| 嘉禾县| 美姑县| 博罗县| 东台市| 炉霍县| 宜君县| 祥云县| 大洼县| 高阳县| 琼结县| 九寨沟县| 利川市| 新余市| 万荣县| 宝兴县| 安庆市| 息烽县| 勃利县| 鹤庆县| 阿城市| 梅河口市| 阳春市| 濉溪县| 江永县| 枣强县| 庆元县| 雅江县| 察隅县| 育儿| 乾安县| 汝南县| 黄石市| 防城港市| 岱山县| 杨浦区| 睢宁县| 定州市| 全椒县| 阳原县| 白朗县|