當前位置:才華齋>計算機>java語言>

java面向物件程式設計的方法資料

java語言 閱讀(5.45K)

  1:允許將子類的引用付給父類的物件,但子類中的那些不是從父類繼承來的成員將不再可見。

java面向物件程式設計的方法資料

例:Bus bus=new Bus();

Car car=bus;但是car例項不可以引用bus中的非繼承域,如p載人數。

  2:this和super

this引用當前類的變數或方法,super引用當前物件的直接父類的變數或方法

 3:多型:

同一個名字可以有多種實現狀態,同一個類內部,可以擁有同名的,引數列表不同的方法,子類也可以有同父類同名的變數和方法。

1)覆蓋(override),當子類繼承了父類的同名無參函式時,子類新寫的方法覆蓋父類的方法,(返回型別必須相同)

2)過載(overload)繼承了父類的同名有參函式,並且方法引數不同時稱為過載,使該方法具有自己的特性。

3)重寫(overwrite)當前類的同名方法,同一個類中可以有多個具有相同名字的方法,由傳遞給他們的不同個數和型別的引數來決定使用哪種方法。

覆蓋和過載針對父類,重寫針對子類。

  4:抽象類定義:

抽象類可以有自己的資料成員,也可以又非abstract的'成員方法,也可以有抽象方法,抽象方法只有函式定義部分,沒有函式體。

子類繼承抽象類時必須實現所有的abstract方法。

  5:介面

java只支援單一繼承,為了實現多重繼承,設計了介面。一個類只可以有一個直接父類,但是可以實現多個介面。

介面中的方法可以有引數列表和返回型別,但是沒有任何方法體。

介面中可以包含欄位,但是會被隱士地宣告為static和final

介面中的欄位只能被儲存在該介面的靜態儲存區域內,而不屬於該介面。

介面中的方法為public

擴充套件一個介面來生成新的介面使用關鍵字extends,實現一個介面使用implements。

java介面的方法只能是抽象的和公開的,java介面比java抽象類更抽象化。

6:介面與抽象類的區別

1)抽象類可以提供實現方法,介面不能提供。如果向抽象類中新增一個新方法,則它的所有子類一下子就得到了這個方法,但是介面,所有實現這個介面的類必須都再實現這個方法才行。

2)抽象類只能繼承一個,而可以實現多個介面。

“預設適配模式”:java介面在最上面,然後緊跟著抽象類。

3)介面可以被巢狀,既可以被某個類巢狀,也可以被介面巢狀。