向上轉型於與向下轉型理解

2021-08-22 16:38:28 字數 1235 閱讀 3621

向上轉型:子類引用的物件轉換為父類型別稱為向上轉型。通俗地說就是是將子類物件轉為父類物件。

public class animal 	}

class cat extends animal }

class dog extends animal

public void run()

}public class test

public static void eat(animal a)

}

animal animal = new cat();將子類物件cat轉化為父類物件animal。這個時候animal這個引用呼叫的方法是子類方法。

向下轉型

package com.sheepmu;

class fruit }

public void mymore()}

public class sys

}

多型的優缺點:

package com.itheima_01;

/* *

* 多型的優缺點

* 優點:可以提高可維護性(多型前提所保證的),提高**的可擴充套件性

缺點:無法直接訪問子類特有的成員

*/public class poymorphicdemo4 }

class mifactory

public void createphone(redmi mi) */

public void createphone(phone p) }

inte***ce phone

//小公尺note

class minote implements phone

}//紅公尺

class redmi implements phone

}

上邊的案例原來是這樣的,首先我們定義乙個class minote(小公尺類)類,裡邊有乙個打**的功能方法;然後在定義乙個class redmi(紅公尺類),裡邊也有乙個打**的功能方法;然後建立乙個工廠生產小公尺手機,紅公尺手機,建立乙個方法測試是否能打**,如果我們的工廠要幾十種手機,那我們就得建立幾十種測試方法,這樣呢就顯得**十分的臃腫不堪。接下來呢我們就進行了改變,我就就抽取了所有手機的乙個共性(都能打**的功能方法)及它都是手機(inte***ce phone )這樣我們工廠裡邊不管生產什麼型別的手機,我都可以呼叫它去執行測試。這就是多型的優點之一(提高了**的可擴充套件性)

向上轉型與向下轉型

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

向下轉型,向上轉型

package cn.dali.code24 向上轉型 父類引用指向子類物件 格式 父類名稱 物件名 new 子類名稱 向下轉型 當我們使用父類引用指向子類物件的時候,我們想把父類物件轉為子類物件時,需要向下轉型 向下轉型就是乙個還原動作。格式 子類名稱 物件名 子類名稱 父類物件 注意 乙個父類有...

向上轉型向下轉型

在引用資料型別中,只有有繼承關係的型別才能進行型別轉換 型別轉換只是轉換看待物件的引用的型別,物件本身沒有也不可能參與轉換 父類引用可以自動指向子類物件,但只能訪問和呼叫到來自於父類的屬性和行為 子類的引用不能指向父類或其它子類物件,就算強轉也會導致執行失敗並丟擲classcastexception...