一篇文章帶你入門Java繼承
Java中繼承
什么是繼承:
繼承就是子類繼承父類的特征和行為,使得子類對(duì)象(實(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;// 人物等級(jí)
// 技能等級(jí)
int q_lv;
}
public class Ezreal {
// 成員
// 屬性
String nameID;
int hp;
int ad;
int ap;
int lv;// 人物等級(jí)
// 技能等級(jí)
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;// 人物等級(jí)
// 技能等級(jí)
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)用,簡(jiǎn)潔了代碼,后期維護(hù)的過程中也不容易出錯(cuò)
學(xué)習(xí)總結(jié):
繼承關(guān)鍵字:extends
格式:
public class 子類名 extends 父類名{
}
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法
這篇文章主要介紹了使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
Java 網(wǎng)絡(luò)編程socket編程等詳解
本篇文章主要介紹了java網(wǎng)絡(luò)編程中的類的方法以及實(shí)例,需要的朋友可以參考下2017-04-04
SpringBoot繼承LogStash實(shí)現(xiàn)日志收集的方法示例
這篇文章主要介紹了SpringBoot繼承LogStash實(shí)現(xiàn)日志收集的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
Spring?Boot開發(fā)RESTful接口與http協(xié)議狀態(tài)表述
這篇文章主要為大家介紹了Spring?Boot開發(fā)RESTful接口與http協(xié)議狀態(tài)表述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
基于獲取JAVA路徑,包括CLASSPATH外的路徑的方法詳解
本篇文章是對(duì)獲取JAVA路徑,包括CLASSPATH外的路徑的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

