安卓學習第十天:繼承,多繼承,複寫,轉型,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必須減少重複程式碼
儘量抽象出相同的特性,這樣可以減少重複程式碼,而且能提高可重複性