<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

    類(lèi)和對(duì)象:
     類(lèi):主觀(guān)抽象,是對(duì)象的模板,可以實(shí)例化對(duì)象
      習(xí)慣上類(lèi)的定義格式:
       package xxx;  
       import xxx;  
       public class Xxxx{
        屬性 ······;
        
        構(gòu)造器 ······;
        
        方法 ······;
       }

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

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

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

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

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成全视成人免费观看在线看| 亚洲人成电影网站色www| caoporm碰最新免费公开视频 | 破了亲妺妺的处免费视频国产| 亚洲午夜国产精品| 国国内清清草原免费视频99| 77777亚洲午夜久久多喷| 美女网站免费福利视频| 亚洲日本一线产区和二线产区对比| 成人免费无毒在线观看网站| 亚洲AV无码成人精品区狼人影院| 免费看美女被靠到爽| 亚洲AV女人18毛片水真多| 亚洲福利视频一区二区| 三级毛片在线免费观看| 亚洲乱亚洲乱淫久久| 国产免费一区二区三区| 337p日本欧洲亚洲大胆人人| 亚洲精品色婷婷在线影院| 国产午夜无码精品免费看动漫| 亚洲黄色网站视频| 男人的好免费观看在线视频| 国产精品亚洲色图| 亚洲性猛交XXXX| 99久久免费看国产精品| 亚洲欧美日韩中文高清www777| 亚洲不卡AV影片在线播放| a毛片全部免费播放| 亚洲妇女水蜜桃av网网站| 日韩毛片免费在线观看| 三级网站免费观看| 亚洲一级高清在线中文字幕| 免费一级毛片一级毛片aa| a级毛片毛片免费观看久潮喷| 亚洲黄色在线播放| 国产成人免费片在线观看| 99久久免费国产特黄| 亚洲宅男精品一区在线观看| 亚洲精品和日本精品| 国产h肉在线视频免费观看| 黄色一级视频免费|