super:用來調(diào)用父類中指定的操作,可以用來修飾屬性、方法、構(gòu)造器。 ? ? ? ? ?this:用來調(diào)用本類對象的操作。
1)當(dāng)子類與父類中有同名的屬性時,可以通過”super.此屬性“顯示的調(diào)用父類中聲明的屬性。 ? ? ? ? ? 若想調(diào)用子類的同名的屬性時,”this.此屬性“,默認(rèn)調(diào)用的是this。
2)當(dāng)子類重寫了父類的方法以后,在子類中若想再顯示的調(diào)用父類的被重寫的方法時,就需要使用”super.方法“。
3)super修飾構(gòu)造器,通過在子類中使用”super(參數(shù)列表)“來顯示調(diào)用父類中指定的構(gòu)造器。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >在構(gòu)造器內(nèi)部,”super(參數(shù)列表)“必須要聲明在首行! ? ? ? ? ? ? ? ? ? >所以構(gòu)造器內(nèi)部,”this(參數(shù)列表)“或”super(參數(shù)列表)“只能出現(xiàn)一個。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? > 在構(gòu)造器中,不顯示的調(diào)用”this(參數(shù)列表)“或”super(參數(shù)列表)“其中任意一個時,默認(rèn)調(diào)用的是父類空參的構(gòu)造器。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>其實父類構(gòu)造器也有其super,只是一般不寫出來,默認(rèn)的就是object類。
建議:設(shè)計一個類時,盡量要提供一個空參的構(gòu)造器。因為當(dāng)父類沒有定義空參構(gòu)造器時,子類構(gòu)造器再默認(rèn)調(diào)用super()時便會報錯,所以盡量定義。
子類對象實例化