1. 程式人生 > >安卓學習第十天:繼承,多繼承,複寫,轉型,super

安卓學習第十天:繼承,多繼承,複寫,轉型,super

#1面向物件最重要的特徵

封裝,繼承,多型

什麼事繼承:子類得到類父類的成員變數和成員函式

java中僅支援但繼承,但是不支援多繼承,一個子類只能繼承一個父類

(類比:一個人一個爹)

語法:class studentextends Person

#2用繼承來減少程式碼中的重複程式碼

把公共的成員變數和屬性方法放在父類給子類繼承。

繼承無法繼承父類的建構函式

#3生成子類物件的過程

子類的建構函式裡面,必須呼叫父類的建構函式。

編譯器會自動加一行super();

#4用super呼叫父類的建構函式

以減少重複程式碼

super函式和this一樣,必須放在第一行

super的引數和父類的建構函式引數要一致

#5函式的複寫(override)

複寫,也稱覆蓋或者重寫

在具有父子關係的兩個類中

父類和子類各有一個函式,這兩個函式(定義,返回值型別和引數列表)完全相同

子類的成員函式名和父類一樣,則子類的函式覆蓋類父類的成員函式

#6使用super呼叫父類的成員函式

語法:super.成員函式

Super指代父類,子類一般不會將父類的方法完全推翻,只用加上要用的功能即可

#7物件的轉型(多型性的體現)

向上轉型:將子類的物件賦值給父類的引用,向上轉型一定要有繼承關係。

例如:汽車是車

Students=new Student();

Personp=s;

或者:Person p=newStudent();

一個引用能夠呼叫那個成員(變數,函式),取決於這個引用的型別

一個引用呼叫的是哪一個方法取決於這個引用指向的物件

向下轉型:將父類的物件賦值給子類的引用,前提是先進行向上轉型。

Student s=new Student();

Person p=s;

Student s2=(Student) p;

#8必須減少重複程式碼

儘量抽象出相同的特性,這樣可以減少重複程式碼,而且能提高可重複性