面向對象第二章
一、 繼承的優點
優點:提高代碼的可重用性
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關鍵字調用父類的有參數的構造方法,子類將不會再自動調用父類的無參數的構造方法
面向對象第二章