面向?qū)ο蟮奶卣鞫豪^承
1火架、為什么要設(shè)計(jì)繼承鉴象?
2、通過”class A extends B“實(shí)現(xiàn)類的繼承何鸡。
子類:A ? ? ? ? ? ? ? ? ? ? ? ? ?父類(或基類或SuperClass):B
3纺弊、子類繼承父類以后,父類中聲明的屬性骡男、方法淆游,子類都可以獲取到。? ? ? ? ? ? 明確:父類中私有的屬性或方法洞翩,子類同樣可以獲取到稽犁,只是由于封裝性(private)的設(shè)計(jì),只是子類不可以直接調(diào)用罷了骚亿。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?若想子類可以調(diào)用父類的private 方法時(shí)已亥,需要有g(shù)etter、setter方法来屠。 ? ? ? 子類除了通過繼承虑椎,獲取父類的結(jié)構(gòu)之外震鹉,還可以定義自己特有的成分。? ? extends:子類并不是父類的子集捆姜,而是對父類功能的”擴(kuò)展“传趾。
4、java中類的繼承性只支持單繼承:一個(gè)類只能繼承一個(gè)父類泥技,反之浆兰,一個(gè)父類可以被多個(gè)子類繼承。(一個(gè)兒子只能有一個(gè)父親珊豹,但是一個(gè)父親可以有多個(gè)兒子)
5簸呈、子類父類都是相對概念。子類可以再被其他類繼承店茶,便又充當(dāng)著父類的角色蜕便。
方法的重寫: ?修飾符 返回值類型 方法名 (參數(shù)列表){ }
1、前提:有子類繼承父類
2贩幻、子類繼承父類后轿腺,若父類的方法對子類不適用,那么子類可以對父類方法進(jìn)行重寫(override ? overwrite)丛楚、覆蓋族壳、覆寫。
3鸯檬、重寫的規(guī)則:1)要求子類方法的 ”返回值類型 方法名 (參數(shù)列表)“與父類的方法一樣决侈。2)子類方法的修飾符不能小于父類的修飾符(當(dāng)父類是public時(shí),因?yàn)閜ublic最大喧务,子類不能小于它赖歌,也必須是public) 3)若父類方法拋異常,那么子類方法拋的異常不能大于父類的功茴。4)子父類的方法必須同為static或同為非static的庐冯。
重寫的方法前面有一個(gè)綠色的小三角,意思為重寫坎穿。
當(dāng)父類的方法中有private的方法時(shí)候展父,子類無法重寫父類的該方法,因?yàn)樽宇惛究床坏礁割惖乃接蟹椒崦粒虼舜藭r(shí)可以隨便重新定義栖茉,所以也可以修改返回值類型。 ? ? ? ? ? ? ? 而真正的重寫孵延,返回值類型必須是一樣的吕漂。只是可以修飾符不同。