繼承與轉型

2021-07-12 04:11:54 字數 1125 閱讀 3798

public >protected>default>private

關於繼承:

子類可以繼承父類所有非私有成員變數和非私有成員方法,同名就覆蓋。

父類的建構函式可以被繼承但不能被覆蓋(相當於final),子類先呼叫父類建構函式,再呼叫自己的建構函式

class father

class son extends father

public class test

}the output is:

i am playing cards

father

class father

class son extends father

public class test

the output is:

i am playing toys

son講轉型:

轉型分為向上轉型和向下轉型。

向上轉型就是將子類的物件賦給父類引用。

向下轉型就是將父類物件賦給子類引用,但是向下轉型必須先向上轉才能向下轉

//向上轉

class father

class son extends father

public class test

}the output is:

i am playing toys

father

//向下

class father

class son extends father

public class test

}the out put is:

i am playing toys

son注意:不可以直接向下,雖然編譯沒有錯,但是一執行就會報錯

不想深刻理解就記住兩句話:

1呼叫的成員變數和能夠呼叫的方法由引用型別決定father f = new son();這裡面的father就是引用型別

2呼叫哪個裡面的方法由物件決定

向上轉型和向下轉型的優缺點:

向上轉具有靈活性,可以在需要替換的時候改為其他子類,但是呢,它會遺失掉子類獨有的方法。假如上述例子中son還有乙個cry方法,呼叫時候就會不通過。

向下轉的優缺點就反上啦~

向上轉型與向下轉型

子類引用的物件轉換為父類型別稱為向上轉型。通俗地說就是是將子類物件轉為父類物件。此處父類物件可以是介面。向上轉型就是具體類向抽象類的轉換。語法 父類 物件 new 子類 例如 animal hern new dog 向上轉型 注意 1 向上轉型時,子類單獨定義的方法會丟失。2 子類引用不能指向父類物...

向下轉型與向下轉型

物件型別的轉換包括向上型別轉換與向下型別轉換。將子類物件賦值給父類型別的變數,這種技術稱為 向上轉型 在物件導向中越上層的類越抽象,越下層的類越具體,越具體的類具有越多的特性,由於向上轉型是將較具體的類轉到較抽象的類,所以它總是安全的。將父類物件賦值給子類型別的變數,這種技術稱為 向下轉型 由於是將...

java繼承向上轉型和向下轉型和動態繫結

概念 把引用變數轉化為子類型別,則成為向下轉型。如果把引用變數轉化為父類型別,則成為向上轉型。public class base 父類靜態方法 static void staticmethod public class subextends base string subvar var only b...