1. 程式人生 > >Java的繼承概述

Java的繼承概述

java繼承的概述(一)

在java中,支援的是單繼承,格式:class 子類 extends 父類{}

繼承的特點


1,在java中只支援單繼承,也就是說,一個類不允許繼承多個類,但是可以層級的去繼承,比如B繼承A,C繼承B,這樣A就相當於繼承了B和C
2,多個類可以同時繼承一個父類,A繼承B , C繼承B
3,在java中子父類是相對概念,在2中,B是A的父類,但是B也是C的父類

繼承中成員變數的特點

1,子類只能獲得父類的費私有的成員變數。
 1)子父類中成員變數名字不一樣,直接獲取父類的成員變數
 2)子父類中成員變數名字一養,就近原則
2,super
  可以獲得父類的成員變數和方法,用法和this一樣

繼承中成員方法的特點&方法的重寫

1,子類中沒有這個方法,就可以呼叫父類的這個方法
2,方法的重寫:方法在子類和父類中完全一樣,包括返回值型別和引數列表,當子類重寫了父類的方法之後,呼叫的就是子類的方法,父類的方法失效,起到了覆蓋的作用。
區分方法的過載:
  重寫:必須父類中存在,且和父類方法完全一樣,包括返回值型別和引數列表,在方法重寫之後,父類方法失效。
  過載:方法名一樣,引數列表不一樣。和返回值型別無關,且每個過載的方法有自己獨立的功能。

方法重寫的場景

當父類方法無法滿足子類的需求的時候,既可以保留父類原有的功能,還可以新增自己特有的功能 
注意:
1,不可以重寫父類的私有方法,因為子類壓根就看不到父類的私有成員,
2,子類重寫父類的方法,方法的修飾許可權必須大於等於父類的方法
3,註解@override 方法重寫,說明下面的方法是重寫的父類的方法

繼承中構造方法的執行順序

1,super():在子類的構造方法中使用,用來呼叫分類的構造方法,並且只能在構造方法第一行使用。
2,this(),在構造方法中使用,用來呼叫本體類的其他構造方法,並且也只能在構造方法的第一行使用。

this和super的區別

顧名思義,super代表父類,this代表當前類。
super:父類物件的引用
    呼叫分類的成員變數,成員方法,以及構造方法
this:子類物件的引用
    呼叫子類的成員變數,成員方法,以及構造方法