extend java是什么,讓我們一起了解一下?
extend java是從多個具體的子類中抽取出相同的屬性以及行為,組合成一個新的父類 然后讓這些具體的子類繼承這個父類,繼承關鍵字:extends,父類中公開的屬性以及方法都能被子類繼承。
extend的優點:
1:提高代碼的復用性。
extend的缺點:
1:提高了代碼的耦合性。
構造方法的執行過程:
1:創建子類對象,先去調用父類的構造方法,再調用自己構造方法。
2:java中的頂級父類是Object。
3:如果一個類沒有繼承其他類,那么它默認繼承Object。
4:無論new哪一個對象,都會先初始化Object。
5:如果子類初始化的時候,沒有給屬性賦值,那么它獲取的是父類的屬性值,如果子類給屬性賦值了,那么就會覆蓋父類屬性的值。
6:初始化子類之前,一定要先初始化父類的值。
7:構造方法不能被繼承。
那么在Java之中,如果要實現繼承的關系,可以使用如下的語法:
class?子類?extends?父類?{}
子類又被稱為派生類; 父類又被稱為超類(Super Class)。
觀察繼承的基本實現:
package?com.wz.extendsdemo; class?Person?{ ????private?String?name; ????private?int?age; ????public?void?setName(String?name)?{ ????????this.name?=?name; ????} ????public?void?setAge(int?age)?{ ????????this.age?=?age; ????} ????public?String?getName()?{ ????????return?this.name; ????} ????public?int?getAge()?{ ????????return?this.age; ????} } class?Student?extends?Person?{?//?Student類繼承了Person類 } public?class?TestDemo?{ ????public?static?void?main(String?args[])?{ ????????Student?stu?=?new?Student();?//?實例化的是子類 ????????stu.setName("張三");?//?Person類定義 ????????stu.setAge(20);?//?Person類定義 ????????System.out.println("姓名:"?+?stu.getName()?+?",年齡:"?+?stu.getAge()); ????} }
運行結果:
姓名:張三,年齡:20
通過代碼可以發現,子類(Student)并沒有定義任何的操作,而在主類中所使用的全部操作都是由Person類定義的,這證明:子類即使不擴充父類,也能維持父類的操作。
以上就是小編今天的分享了,希望可以幫助到大家。