一篇文章帶你入門Java繼承
Java中繼承
什么是繼承:
繼承就是子類繼承父類的特征和行為,使得子類對象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。
為什么要用繼承:
可以去掉重復(fù)代碼,方便后期維護(hù)
舉個(gè)列子,大家應(yīng)該都玩過英雄聯(lián)盟,每個(gè)英雄都是一個(gè)類,如果說不用繼承的話每次都要重復(fù)定義每個(gè)英雄的成員屬性,如下圖我舉了一個(gè)MF,一個(gè)EZ的列子
public class MissFortune {
// 成員
// 屬性
String nameID;
int hp;
int ad;
int ap;
int lv;// 人物等級
// 技能等級
int q_lv;
}
public class Ezreal {
// 成員
// 屬性
String nameID;
int hp;
int ad;
int ap;
int lv;// 人物等級
// 技能等級
int q_lv;
}
這樣就創(chuàng)建了兩個(gè)單獨(dú)獨(dú)立的英雄類,可以發(fā)現(xiàn)前半部分代碼都是重復(fù)的,下面我們用繼承來看一下
首先創(chuàng)建一個(gè)父類:
public class Hero {
// 成員
// 屬性
String nameID;
int hp;
int ad;
int ap;
int lv;// 人物等級
// 技能等級
int q_lv;
}
然后再看我們的單獨(dú)英雄類:
public class MissFortune extends Hero{
// 成員方法
// 初始化
public void initMissFortune(){
hp=570;
ad=52;
ap=0;
lv=1;
q_lv=1;
}
}
public class Ezreal extends Hero {
// 成員方法
// 初始化
public void initEzreal(){
hp=530;
ad=60;
ap=0;
lv=1;
q_lv=1;
}
}
在此之中,父類的屬性和方法 子類都可以繼承到并 直接調(diào)用,簡潔了代碼,后期維護(hù)的過程中也不容易出錯(cuò)
學(xué)習(xí)總結(jié):
繼承關(guān)鍵字:extends
格式:
public class 子類名 extends 父類名{
}
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
SpringBoot之groups應(yīng)對不同的Validation規(guī)則自定義方式
這篇文章主要介紹了SpringBoot之groups應(yīng)對不同的Validation規(guī)則自定義方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
springboot實(shí)現(xiàn)定時(shí)任務(wù)@Scheduled方式
這篇文章主要介紹了springboot實(shí)現(xiàn)定時(shí)任務(wù)@Scheduled方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
macOS中搭建Java8開發(fā)環(huán)境(基于Intel?x86?64-bit)
這篇文章主要介紹了macOS中搭建Java8開發(fā)環(huán)境(基于Intel?x86?64-bit)?的相關(guān)資料,需要的朋友可以參考下2022-12-12
如何使用mybatis-generator自動(dòng)生成代碼
這篇文章主要介紹了如何使用mybatis-generator自動(dòng)生成代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10

