1. 程式人生 > >面向對象第二章

面向對象第二章

實現繼承 類對象 調用 訪問 erl 派生 提取 bject 提高

一、 繼承的優點

優點:提高代碼的可重用性

1、 如何判斷A、B類之間是繼承關系?

符合 is…a關系

2、java中,所有的類都直接或間接的繼承了java.lang.Object類

3、 java中,私有的成員構造方法沒有被子類繼承

缺省權限的成員,不能被其他包中的子類繼承

二、如何實現繼承

1、 將多個類中的共同的成員,提取出來放到一個公共的類(父類、超類、基類),自己只保留特有的成員

2、 多個類(子類、派生類),繼承(extends) 公共類

訪問修飾符class 子類 extends 父類{

}

說明:class前面的訪問修飾符不能為private、protected

三、繼承的2大特性

1、 單一性:一個類只能直接繼承一個父類

2、 傳遞性:一個類可以間接的繼承多個類(子類可以調用父類的父類…中的成員)

四、子類如何調用父類的成員

1、public屬性

super.屬性名

2、構造方法

super(【值】);

子類隱式(自動)查找並調用父類的無參數的構造方法

3、 其他方法

super.方法名([值]);

三、 方法重寫

1、 概念—對從父類繼承過來的方法進行重新編寫

2、 方法重載(overloading)和方法重寫(overriding)的區別和聯系?

方法重載,

在同一個類中(也可以在繼承關系中),方法名相同,參數列表(個數、類型)不同,不能根據方法的返回類型和訪問修飾符不同,而判定是方法重載

方法重寫(方法覆蓋),

是對從父類繼承過來的方法進行重新編寫,

重寫方法時,方法名、參數列表、返回類型必須和要重寫的父類方法保持一致,訪問修飾符可以不同,但訪問權限必須要比父類要大

3、 訪問修飾符4個(按權限從小到大排列)

private(私有的)< friendly(缺省的)< protected(受保護的)< public(公共的)

4、 在繼承關系中,構造方法執行順序

1、 在繼承中,創建子類對象時,會自動調用父類的無參數的構造方法

2、 子類和父類同時存在有構造方法時,它們的執行順序?

實例化子類對象時,先執行父類中無參數的構造方法,然後再執行子類中的構造方法

3、在子類構造方法中,使用super關鍵字調用父類的有參數的構造方法,子類將不會再自動調用父類的無參數的構造方法

面向對象第二章