1、java支持多層繼承,而不支持,多繼承!
2、子類繼承父類后,則當子類實例化時,必須要 先調用父類的構造方法,默認是無參構造方法!
3、當子類重寫了主類的方法A,得到方法B,則在調用時就會調用重寫的方法B,如果非要調用父類的方法A則需要使用super關鍵字,super關鍵字可以從子類訪問父類中的內容——super.A(),同時super可以明確表示某個方法是從父類中繼承而來。
4、方法的重載與覆寫的區別:
重載(overloadong):
定義:方法名稱相同,參數的類型或個數不同,對于權限沒有要求,其范圍是發生同一個類中
覆寫(overriding)方法名稱、參數類型、返回值類型全部相同,被覆寫的方法不能擁有更加嚴格的權限【PRivate<default<public】,其范圍是發生在繼承類中
5、this和super的比較
屬性訪問:this只會訪問本類中的屬性,如果本類中無此屬性則從父類中繼續查找;super訪問父類中的屬性。
方法調用:this 會訪問本類中的方法,如果本類中沒有找到,則繼續在父類中查找;super則是直接訪問父類中的方法。
調用構造:this調用本類構造,必須放在構造方法的首行;super則是調用父類構造,必須放在子類構造方法的首行(有點相同)
【注:對于this和super本身都可以調用構造方法,且都放在首行,所以這兩個關鍵字肯定不能同時出現】
特殊:this可以表示當前對象,但是super沒有
新聞熱點
疑難解答