【筆記】Java編程思想—一複用類

1、組合與繼承

2、繼承會得到基類的所有字段和方法

新類是基類的的一種類型

3、被繼承的類中,一般將數據成員指定爲private,將方法指爲public。

4、super

super.scrub()將調用基版本的scrub方法

5、用基類構造器初始化基類子對象

創建子類對象時,先調用基類構造器,再調用導出類的構造器

6、帶參數的基類構造器

class Game{

   Game(int i){

   ........... 

   }

}


class BoardGame extends Game{

      BoardGame( ){

       super(i);  //調用基類構造器

        ..........

      }

}


7、is a的關係用繼承表達,has a的關係用組合來表達

8、組合的例子P154

Car has-a  Wheel,Door。成員對象可爲public

9、protected:對於任何繼承於基類的導出類或同一包內的類來說,基類是可以訪問的


10、如果需要向上轉型,用繼承。否則用組合

class Instrument{
public  play(){};
static void tune (Instrument i){
   i.play;
}
}
</pre><pre name="code" class="java">public class Wind extends Instrument{     //需要向上轉型,用繼承
      public static void main(String[] args){
    Wind flute =new Wind();
    Instrument.tune(flute)  //用了向上轉型
    }
}

11、final:

對於基本類型,final使數值恆定不變

對於對象引用,final使引用恆定不變,引用只能指向一個對象,但對象自身是可以被修改的

12、final方法:可防止繼承類修改它的含義。

private方法都是隱式的爲final的

13、final類:表明你不打算繼承繼承該類


14、繼承的初始化:先初始化基類的static,再初始化導出類的static。

類加載完畢後就可以創建對象了。首先對象中基本類型數據設爲缺省值,對象引用爲null。然後調用基類的構造器。

再初始化實例變量,最後執行子類構造器。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章