網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
目錄
一、什么是繼承?
二、繼承的好處
三、如何實(shí)現(xiàn)繼承
四、繼承關(guān)系下成員變量、成員方法和構(gòu)造方法的訪問(wèn)特點(diǎn)
四、super關(guān)鍵字的三種用法:
五、this關(guān)鍵字的三種用法:
六、繼承的特點(diǎn)
一、什么是繼承?
????????Java繼承是面向?qū)ο蟮淖铒@著的一個(gè)特征。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。繼承所表達(dá)的就是一種對(duì)象類之間的相交關(guān)系,它使得某類對(duì)象可以繼承另外一類對(duì)象的數(shù)據(jù)成員和成員方法。若類B繼承類A,則屬于B的對(duì)象便具有類A的全部或部分性質(zhì)(數(shù)據(jù)屬性)和功能(操作),我們稱被繼承的類A為基類、父類或超類,而稱繼承類B為A的派生類或子類。Java繼承是使用已存在的類的定義作為基礎(chǔ)建立新類的技術(shù),新類的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術(shù)使得復(fù)用以前的代碼非常容易,能夠大大縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)費(fèi)用。
二、繼承的好處
? ? ? ? 共性抽?。ǘ鄠€(gè)類相同的代碼),提高代碼復(fù)用性。
三、如何實(shí)現(xiàn)繼承
? ? ? ? public class 子類? extends? 父類{
? ? ? ? ? ? ? ? //子類繼承了父類則可以使用父類中費(fèi)private修飾的成員信息
????????}
public class Person {
protected String name;
protected String gendaer;
protected int age;
protected String nationality;
public Person() {
super();
}
public Person(String name, String gendaer, int age, String nationality) {
super();
this.name = name;
this.gendaer = gendaer;
this.age = age;
this.nationality = nationality;
}
}
public class Student extends Person{
public Student() {
super();
}
public Student(String name, String gendaer, int age, String nationality) {
super(name, gendaer, age, nationality);
}
}
四、繼承關(guān)系下成員變量、成員方法和構(gòu)造方法的訪問(wèn)特點(diǎn)
1.成員變量
?????????等號(hào)左邊的類型是誰(shuí),訪問(wèn)的就是誰(shuí)。
2.成員方法
?????????new的是誰(shuí),訪問(wèn)的就是誰(shuí)的方法。
3.構(gòu)造方法?
- 在子類中的構(gòu)造方法中,沒(méi)有顯示的寫(xiě)super(參數(shù)),則默認(rèn)贈(zèng)送一個(gè)super();
- 如果顯示的寫(xiě)了一個(gè)super(參數(shù)),則不再贈(zèng)送。
- super(參數(shù)),必須是第一個(gè)語(yǔ)句。
四、super關(guān)鍵字的三種用法:
? ? ? ? super.父類的成員變量
????????super.父類的成員方法
? ? ? ? super(參數(shù));//調(diào)用父類的構(gòu)造方法,只能在子類的構(gòu)造方法中調(diào)用。
五、this關(guān)鍵字的三種用法:
? ? ? ? this.本類的成員變量
???????? this.本類的成員方法
? ? ? ? this(參數(shù));//調(diào)用本類中的其他構(gòu)造方法。
注意:
- 必須寫(xiě)在構(gòu)造方法中
- 必須是第一個(gè)語(yǔ)句,this(參數(shù));和 super(參數(shù));不能同時(shí)存在
- 寫(xiě)了this(參數(shù));之后就不在贈(zèng)送super();
- 構(gòu)造方法不能遞歸
六、繼承的特點(diǎn)
- 一個(gè)子類只能有一個(gè)直接父類
- Java是多級(jí)繼承
- 一個(gè)父類可以有多個(gè)子類
? ? ?????????????????????????????????
????????
原文鏈接:https://blog.csdn.net/weixin_56373368/article/details/126178035
相關(guān)推薦
- 2022-05-12 Centos python3 與 python2 共存
- 2023-01-17 解讀python?cvxpy下SDP問(wèn)題編程_python
- 2023-07-07 React中useState的setState方法請(qǐng)求了好多次
- 2022-10-01 Python?from?import導(dǎo)包ModuleNotFoundError?No?module?
- 2022-12-25 Qt開(kāi)發(fā)之QString類的使用教程詳解_C 語(yǔ)言
- 2022-03-03 react引入antd按需加載警告“You are using a whole package of
- 2022-06-25 Python制作簡(jiǎn)易計(jì)算器功能_python
- 2023-04-06 C語(yǔ)言中的多行輸入問(wèn)題及說(shuō)明_C 語(yǔ)言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支