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

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

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

    posts - 39,  comments - 44,  trackbacks - 0

    類和對象:
     類:主觀抽象,是對象的模板,可以實例化對象
      習慣上類的定義格式:
       package xxx;  
       import xxx;  
       public class Xxxx{
        屬性 ······;
        
        構造器 ······;
        
        方法 ······;
       }

      定義屬性:實例變量
       格式:[ 修飾符 ]  類型 變量名  [ = ? ]
       實例變量定義在類中但在任何方法之外。
       實例變量有默認值:各種各樣的0。(同數組)
       實例變量的作用域至少在本類內部,受訪問控制符的限制。
       在重合作用域,實例變量和局部變量允許有命名沖突,“局部優(yōu)先”。
       
      定義方法:
       格式: [ 修飾符 ]  返回類型 方法名( 參數列表 ) [ throws  異常 ] { ······ }
       java中所有參數都是值傳遞。
          當沒有值返回時,返回類型必須被定義為void。
       返回類型必須與方法名相鄰,其他修飾符可以調換位置。
       
      構造器:
       在創(chuàng)建對象的過程中調用的方法。
       構造器沒有返回類型。
       構造器的名字與類名相同。
       格式為:[ 修飾符 ]  類名( 參數列表 ){  },修飾符可以是private、 protected、 default、private
       在一個對象的生成周期中構造器只用一次,由系統(tǒng)自動調用,不允許手工調用。
       程序員沒有提供一個構造器,系統(tǒng)會自動提供一個無參的構造器。
       獲得對象的方式:
        通過new(在堆空間中申請分配空間),new 類名(),可以通過這種形式或的一個對象,這時的對象是無法使用,必須把他的地址存放進一個對象變量才能夠使用。
        例如 :
         Car c=new Car();
       注意:
        最好在寫類時提供一個無參的構造器。
          
      this關鍵字:
       this是個隱式參數,代表當前對象;
        publie class Student{
         private String name;
         public void setName(String name){
          this.name=name;  //this.name為當前對象的成員變量
         }
        }
        
       如果某個構造方法的第一個語句具有形式this( ··· ),那么這個構造方法將調用同一類中的其他構造方法。
       
              注意:
               在構造器中this(...)必須放在該構造器的第一行。
        this不能出現在靜態(tài)方法里面  
     
     類、對象、實例三者的關系:
      類:是對象的模板,可以實例化對象
      對象:類的個體
      實例:實現的對象
      student s; 
      s=new student();
       其中 Student為類,s為對象,new Student()為實例,s賦值后也是實例了。

    方法重載:
     方法名相同,參數表不同,不考慮返回值類型(但最好還是使返回類型一致)。
     編譯器根據參數,選擇一個方法,如果沒有完全匹配的,對于參數表采用“向上就近匹配原則”,但不允許模棱兩可。
     方法重載屏蔽了一個對象的同一類方法由于參數不同所造成的差異。
       
    封裝:
     類的屬性加private修飾符,來限制只能夠在類的內部進行訪問,有效的保護數據。
     對于類中的私有屬性,要對其給出一對方法getXxx(),setXxx()訪問私有屬性,保證對私有屬性的操作的安全性。
     方法公開的是方法的聲明,即只須知道參數和返回值就可以調用該方法,隱藏方法的實現的細節(jié)。
     一個對象和外界的聯(lián)系應當通過一個統(tǒng)一的接口,應當公開的公開,應當隱藏的隱藏。
      
    繼承:
     父類到子類是從一般到特殊的關系。
      泛化:將不同子類中的共性抽象成父類的過程。
      特化:在原有父類的基礎上加入一些個性的過程。
      原則:父類放共性,子類放個性。
     繼承的關鍵字:extends
     Java只支持單繼承:一個類最多只有一個直接的父類。

          方法覆蓋:
      方法名:相同
      參數表:相同
      訪問限制符:相同或者更寬
      返回值類型:相同或者子類返回的類型是父類返回的類型的子類(在JDK5.0以后)
      拋出的異常:不能比父類更寬。
        
          super關鍵字:
      super()表示調用父類的構造器
      super()也和this()一樣必須放在方法的第一句
      super()和this()不能同時出現        
      super可以屏蔽子類屬性和父類屬性重名時帶來的屬性遮蓋,super. 表示調用父類的方法或屬性
      在子類的構造器中如果沒有指定調用父類的哪一個構造器,那么就會調用父類的無參構造器,即super()
      
     注意:
      父類的構造器不能被子類繼承
      方法和屬性可以被繼承,權限不限制能否繼承過來,限制的是能否直接訪問
      先構造父類,后構造子類,先this后super
      
    多態(tài):
     多態(tài)分為兩種:編譯時多態(tài)和運行時多態(tài)。
      編譯時類型:主觀概念,把它看作什么。
      運行時類型:客觀概念,實際它是什么。
        例:Animal a=new Dog();
             指著狗問,這個動物是什么?
             
          運行時多態(tài)的三原則:
      對象類型不變。
      只能對對象調用編譯時類型中定義的方法。
      在程序的運行時,根據對象的運行時類型,找覆蓋后的方法來調用。(運行時動態(tài)類型綁定)
      
          強制類型轉換: 一定沒有新對象生成。(父類的引用賦值給子類的引用需要進行強制類型轉換)
          關鍵字:instanceof
               用法:引用  instanceof  類名    判斷這個引用所指向的對象是否屬于這個類。
        用在強制轉換之前,避免類型轉換異常。
       if(a instanceof Dog){
        Dog d=(Dog)a;
       }
       
     多態(tài)的作用:把不同的子類對象都當作父類來看,可以屏蔽不同子類對象之間的差異,寫出通用的代碼,做出通用的編程,以適應需求的不斷變化。

    posted on 2008-10-26 21:04 礦礦 閱讀(255) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲黄色免费网站| 三上悠亚在线观看免费| 国产亚洲福利在线视频| 精品久久久久久亚洲综合网| 亚洲精品视频免费观看| 啦啦啦完整版免费视频在线观看| 国产gv天堂亚洲国产gv刚刚碰| 又大又硬又爽免费视频| 亚洲另类无码专区丝袜| 日本激情猛烈在线看免费观看| 亚洲91精品麻豆国产系列在线| 亚洲综合精品第一页| 日韩高清在线免费看| 黄网站色视频免费观看45分钟| 久久精品免费视频观看| 国产精品免费小视频| 国产精品亚洲一区二区在线观看| 日韩免费在线视频| 亚洲精品美女久久久久| 在线观看无码AV网站永久免费 | 久久精品国产免费一区| 免费看污成人午夜网站| 亚洲AV日韩综合一区尤物| 国产国产成年年人免费看片| 日本系列1页亚洲系列| 国产精品亚洲mnbav网站| 一级毛片免费毛片一级毛片免费| 国产精品久久久久影院免费| 日韩国产欧美亚洲v片| 亚洲色成人网站WWW永久| 99re6在线精品视频免费播放| 亚洲深深色噜噜狠狠爱网站| 免费人妻无码不卡中文字幕系| 四虎国产精品免费久久影院| 免费无码国产在线观国内自拍中文字幕 | 国产免费无遮挡精品视频| 国产三级在线免费观看| 亚洲今日精彩视频| 少妇亚洲免费精品| 亚洲 无码 在线 专区| 日韩免费无码一区二区三区 |