子類可以繼承父類的哪些成員 JAVA中,子類將繼承父類的所有屬性和方法嗎?
JAVA中,子類將繼承父類的所有屬性和方法嗎?無法繼承私有屬性和方法。它可以繼承public、default和protected的屬性和方法。因?yàn)楦割愂亲宇惖哪0澹?dāng)然可以繼承,但是private只
JAVA中,子類將繼承父類的所有屬性和方法嗎?
無法繼承私有屬性和方法。它可以繼承public、default和protected的屬性和方法。因?yàn)楦割愂亲宇惖哪0?,它?dāng)然可以繼承,但是private只對類本身有可見性,所以子類不能繼承它的方法和屬性。
關(guān)于java中子類繼承父類的構(gòu)造方法?
你的老師是對的,但我說不清楚。我舉個(gè)例子。類a{public a(){}//1:無參數(shù)構(gòu)造方法。Public a(string s){}//2.}類B擴(kuò)展了a{Public B(string s){super(s)//3.}注意:如果位置1中沒有無參數(shù)構(gòu)造方法,則必須在位置3中主動(dòng)調(diào)用具有父類參數(shù)的構(gòu)造方法。如果有一個(gè)構(gòu)造方法,那么這三個(gè)代碼可以省略,因?yàn)槟J(rèn)情況下Java會(huì)自動(dòng)調(diào)用父類的無參數(shù)構(gòu)造方法。請記住,在構(gòu)造子類時(shí),必須調(diào)用父類的構(gòu)造函數(shù)。所以父類或者有一個(gè)默認(rèn)的無參數(shù)構(gòu)造,所以Java會(huì)自動(dòng)調(diào)用這個(gè)無參數(shù)構(gòu)造。如果父類沒有無參數(shù)構(gòu)造,則需要在子類的構(gòu)造中通過super()調(diào)用父類的構(gòu)造。
JAVA子類繼承父類,然后用父類去new這個(gè)子類的對象,這樣做的意義在哪?
例如,如果父類的構(gòu)造函數(shù)帶參數(shù),則子類的構(gòu)造函數(shù)中的第一句話是super(…)。注意:調(diào)用子類構(gòu)造函數(shù)時(shí),首先調(diào)用父類構(gòu)造函數(shù),然后調(diào)用子類構(gòu)造函數(shù)。如果要調(diào)用父類而不是子類的成員,可以:super。不創(chuàng)建父類的實(shí)例。如果你能創(chuàng)建一個(gè)父類的實(shí)例,我可以舉一個(gè)反例來說明這是錯(cuò)誤的:當(dāng)父類是抽象類而子類不是抽象類時(shí),子類在調(diào)用構(gòu)造函數(shù)時(shí)也會(huì)調(diào)用父類構(gòu)造函數(shù),創(chuàng)建子類和父類的兩個(gè)實(shí)例。但是,抽象類不能實(shí)例化。原來的假設(shè)是錯(cuò)誤的。因此,父類不會(huì)被創(chuàng)建為實(shí)例。理論理解:當(dāng)用構(gòu)造函數(shù)添加new時(shí),會(huì)創(chuàng)建一個(gè)對象(實(shí)例)。調(diào)用子類構(gòu)造函數(shù)時(shí),調(diào)用父類構(gòu)造函數(shù)是初始化子類從父類繼承的部分。此過程不對父類使用new,因此不會(huì)為父類創(chuàng)建對象(實(shí)例)。