向上造型和向下造型

2021-09-22 14:14:42 字數 712 閱讀 8451

向上轉型:一般為父類引用指向子類物件,父類引用可以呼叫子類重寫或者未重寫的方法,但是不能呼叫子類的特有方法,呼叫的屬性為父類的屬性。

animal a=new dog();

castclass(a,a.name);

向下造型:一般為子類引用指向父類物件,但是父類物件一般為本子類的向上轉型,否則會出現classcasteexception異常,此異常一般為子類的引用直接指向了父類的物件。

//向下轉型報錯

dog d= (dog) new animal();

d.eat("測試")

意義:當乙個方法在子類中進行重寫的時候,呼叫不同的子類可能需要new物件很多次,再呼叫對應的方法,會出現很多的**重複,對於**結構來說很不好看。

/**

* @author lsd

* 向上和向下造型的理解

*/package com;

public class testextends

static void castclass(animal a,string name)

}class animal

}class mammal extends animal

public void see()

}class dog extends animal

}

向上造型與向下造型

父類引用 變數 new 子類物件 必須有繼承關係 子類對父類方法進行重寫 通過父類型別的引用變數呼叫子類重寫之後的方法 向上造型的物件可以呼叫哪些方法看父類,具體的方法執行看子類 父類 目錄 子類 正文 案例 public class main public static void m pet p ...

繼承 向上造型

物件導向程式設計的三 四 大特徵 抽象 封裝 繼承 多型 1 什麼是繼承 繼承是物件導向程式設計中一種 復用的方式 2 為什麼要使用繼承 為了減少程式中的 冗餘,提高程式的可維護性和可擴充套件性 3 怎樣使用繼承格式 class 類名 a extends 類名 b 類a中可以使用類b中的屬性和方法,...

向上造型的物件

方法重寫規則 方法名相同,引數型別相同 子類返回型別小於等於父類方法返回型別,子類丟擲異常小於等於父類方法丟擲異常,子類訪問許可權大於等於父類方法訪問許可權。向上造型的物件呼叫重寫的方法 public static void main string args class super public v...