網站首頁 編程語言 正文
目錄
一、什么是繼承?
二、繼承的好處
三、如何實現繼承
四、繼承關系下成員變量、成員方法和構造方法的訪問特點
四、super關鍵字的三種用法:
五、this關鍵字的三種用法:
六、繼承的特點
一、什么是繼承?
????????Java繼承是面向對象的最顯著的一個特征。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數據屬性和行為,并能擴展新的能力。繼承所表達的就是一種對象類之間的相交關系,它使得某類對象可以繼承另外一類對象的數據成員和成員方法。若類B繼承類A,則屬于B的對象便具有類A的全部或部分性質(數據屬性)和功能(操作),我們稱被繼承的類A為基類、父類或超類,而稱繼承類B為A的派生類或子類。Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術使得復用以前的代碼非常容易,能夠大大縮短開發周期,降低開發費用。
二、繼承的好處
? ? ? ? 共性抽取(多個類相同的代碼),提高代碼復用性。
三、如何實現繼承
? ? ? ? public class 子類? extends? 父類{
? ? ? ? ? ? ? ? //子類繼承了父類則可以使用父類中費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);
}
}
四、繼承關系下成員變量、成員方法和構造方法的訪問特點
1.成員變量
?????????等號左邊的類型是誰,訪問的就是誰。
2.成員方法
?????????new的是誰,訪問的就是誰的方法。
3.構造方法?
- 在子類中的構造方法中,沒有顯示的寫super(參數),則默認贈送一個super();
- 如果顯示的寫了一個super(參數),則不再贈送。
- super(參數),必須是第一個語句。
四、super關鍵字的三種用法:
? ? ? ? super.父類的成員變量
????????super.父類的成員方法
? ? ? ? super(參數);//調用父類的構造方法,只能在子類的構造方法中調用。
五、this關鍵字的三種用法:
? ? ? ? this.本類的成員變量
???????? this.本類的成員方法
? ? ? ? this(參數);//調用本類中的其他構造方法。
注意:
- 必須寫在構造方法中
- 必須是第一個語句,this(參數);和 super(參數);不能同時存在
- 寫了this(參數);之后就不在贈送super();
- 構造方法不能遞歸
六、繼承的特點
- 一個子類只能有一個直接父類
- Java是多級繼承
- 一個父類可以有多個子類
? ? ?????????????????????????????????
????????
原文鏈接:https://blog.csdn.net/weixin_56373368/article/details/126178035
相關推薦
- 2023-01-11 Android?nonTransitiveRClass資源沖突問題淺析_Android
- 2022-03-27 ASP.NET?HttpRequest類介紹_基礎應用
- 2022-10-17 React?中的?useContext使用方法_React
- 2022-06-14 Golang使用ini庫讀取配置詳情_Golang
- 2022-08-06 C語言結構體數組常用的三種賦值方法(包含字符串)_C 語言
- 2022-08-28 Python?Decorator的設計模式演繹過程解析_python
- 2022-08-29 Python?GUI?圖形用戶界面_python
- 2022-05-19 C++實現職工工資管理系統課程設計_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支