繼承、抽象個人小結
繼承
1、物件導向的三大特徵:封裝、繼承、多型。
2、繼承是多型的前提,沒有繼承就沒有多型。
3、子類有父類的屬性與方法,並且可以新增自己的屬性與方法。
4、定義格式:public class 子類名 extends 父類名{}
5、當父類和子類中的成員變數和方法重名時:
直接通過子類物件訪問時:建立物件時=號左邊是誰就是誰,沒有的話向上找。
間接通過成員方法訪問成員變數時:當方法是子類的,優先用子類的變數,沒有的話向上找;如果方法是從父類繼承的,優先用父類的。
6、在子類中訪問父類的成員變數:super.成員變數名。
7、當子類和父類成員方法重名時,子類訪問成員方法時,優先用子類方法,沒有向上找。
8、重寫(覆蓋)和過載的區別:方法名一樣,但是重寫的引數列表也相同而過載的引數列表不一樣。@Override寫在方法名前面,用來檢測是否是有效的覆蓋。重寫時子類方法的返回值必須小於等於父類方法的返回值範圍。重寫時子類方法的許可權必須大於等於父類方法的修飾許可權。Public>protected>default>private。
9、使用重寫(覆蓋)的場景:當設計需求對功能模組進行功能擴充套件時,定義一個新類繼承老類並重寫老類中的方法。
10、當父類和子類中都有自定義構造方法時:建立子類物件時先呼叫父類的構造方法,再呼叫子類中的構造方法。也可以通過super()語句顯式的過載父類的構造方法,但是super()語句必須是子類構造方法中的第一個語句。
11、super關鍵字的用法有三種:
在子類的成員方法中,訪問父類的成員變數。
在子類的成員方法中,訪問父類的成員方法。
在子類的構造方法中,訪問父類的構造方法。
12、this關鍵字的三種用法:
在本類的成員方法中,訪問本類的成員變數。
在本類的成員方法中,訪問本類的另一個成員方法。
在本類的構造方法中,訪問本類的另一個構造方法。this()必須是第一個語句。
13、繼承的三個特點:
Java中是單繼承的,一個類的直接父類只能有一個。
Java語言可以多級繼承,父類可以有父類。
Java語言中一個父類可以有很多個子類。
抽象
1、父類中定義抽象方法不確定如何實現,在子類中具體實現。
2、抽象方法的定義:public abstract void 方法名();,抽象方法所在的類必須是抽象類。在class之前加abstract。
3、抽象類只能被繼承,不能之間建立物件。
4、繼承抽象類的子類必須重寫(實現)繼承的父類中的所有的抽象方法,除非該子類也是抽象類。
5、抽象類不一定有抽象方法,但是抽象方法所在的類必須是抽象類。
6、抽象類也可以有構造方法,用來子類構造方法中呼叫初始化父類成員變數。
相關文章
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- 【Java】繼承、抽象、組合Java繼承抽象
- java抽象繼承-模板方法Java抽象繼承
- 繼承+多型+抽象類繼承多型抽象
- c# abstract抽象類及抽象方法_繼承C#抽象繼承
- Java之繼承和抽象類Java繼承抽象
- JAVA介面繼承、抽象類等Java繼承抽象
- 繼承 重寫和抽象類繼承抽象
- PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- C# OOP:繼承,介面和抽象類C#OOP繼承抽象
- 6-2 抽象類的繼承 (5分)抽象繼承
- java 的 四 個 基 本 特 性 ——封裝 繼承 多型 抽象Java封裝繼承多型抽象
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- JavaScript繼承總結JavaScript繼承
- js 繼承小結JS繼承
- Java基礎10 介面的繼承與抽象類Java繼承抽象
- 介面是否可繼承(extends)介面? 抽象類是否可實現 (implements)介面? 抽象類是否可繼承具體類(concrete class)?繼承抽象
- JAVA類的頂層Type抽象和繼承關係Java抽象繼承
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- 多繼承 與 多重繼承繼承
- JS中繼承方式總結JS中繼繼承
- Javascript繼承機制總結JavaScript繼承
- C++繼承詳解:共有(public)繼承,私有(private)繼承,保護(protected)繼承C++繼承
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- 【JAVA】筆記(5)--- final;抽象方法;抽象類;介面;解析繼承,關聯,與實現;Java筆記抽象繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- scala_繼承、型別判斷、抽象類、匿名內部類繼承型別抽象
- 繼承繼承
- Kotlin之類繼承結構Kotlin繼承
- java容器類的繼承結構Java繼承
- Objective c 知識總結 繼承Object繼承
- C++繼承一之公有繼承C++繼承
- JS原型繼承和類式繼承JS原型繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- 公有繼承、私有繼承和保護繼承之間的對比繼承
- 物件導向 -- 三大特性之繼承 補充 抽象類 介面類物件繼承抽象