Java多型中的向上轉型和向下轉型
向上轉型:將一個父類的引用指向一個子類物件,稱為向上轉型,自動進行型別轉換
用法: Father f = new Son();
向下轉型:子類引用指向父類引用的子類物件 通俗的說就是子類例項物件賦值給父類引用,然後父類引用又要賦值給子類引用,這個過程就是向下轉型。
語法:
Father f = new Son();
Son s = (Son)f; //看語法,要有(型別)
ps:
a、向上轉型後,父類引用只能呼叫與子類共有的例項方法與例項變數,子類獨有的例項變數與例項方法將不能呼叫。多型:動態繫結知識點哈。不明白就自己敲一遍。你看看能不能發訊息!!!(通過引用呼叫方法,也稱為向例項物件傳送一個訊息)
b、注意向下轉型的前提條件:首先父類引用指向一個子類例項物件。。。。這樣絕對不可以Father father = new Father(); Son s = (son)father; 不好意思,直接拋給你ClassCastException!!即父類例項物件絕對不能強制轉換為子類的例項物件。
相關推薦
java語言機制中的多型多型理解以及多型的向上轉型和向下轉型問題
多型中轉型問題往往不容易理解,特別是向上和向下轉型。 下面先說說多型的概念和前提: 1.要有繼承關係; 2.要有方法重寫; 3.要有父類引用指向子類物件; 如果是成員變數的話,編譯看左邊(父類),執行看左邊(子類); 如果是成員方法的話,編譯看左邊(父類),執行看右邊(子類)
Java多型中的向上轉型和向下轉型
向上轉型:將一個父類的引用指向一個子類物件,稱為向上轉型,自動進行型別轉換 用法: Father f = new Son(); 向下轉型:子類引用指向父類引用的子類物件 通俗的說就是子類例項物件賦值給父類引用,然後父類引用又要賦值給子類引用,這個過程就是向下轉型
面向物件中的多型,物件的向上轉型和向下轉型
多型 首先什麼是多型? 多型就是一種事物的多種形態. 建立多型的前提需要滿足三個條件: 1.首先類與類之間要建立聯絡,即需要有繼承關係 2.子類中一定要有方法的重寫 3.最重要的是一定要有父類的指標指向子類的物件或者說父類的引用指向子類的空間 下面
多型之向上轉型和向下轉型
向上轉型: 將子類物件轉換為父類物件 : Father f = new Son(); 這樣產生的物件f,將會擁有父類的屬性和子類的方法。當然,子類的方法複寫了父類的方法,輸出的結果自然是父類的。而f的屬性卻依舊是父類時候的屬性值。舉個栗子
JavaSE(五)JAVA對象向上轉型和向下轉型
open 其他 解釋 編譯 -- 運行出錯 instance xtend args 今天做了一個測試的題目,發現自己還是很多問題沒有靜下心來做。很多問題是可以自己解決的但是自己一是沒有讀清題意,二是自己心裏太急躁了。所以這個要自己應以為鑒! 對象的轉型問題其實並不復雜,我
JAVA向上轉型和向下轉型
子類 font new ont java向上轉型 clas 之間 string output 最近在看JAVA編程思想,之前學的JAVA只能算是皮毛,大概看到第七章繼承時出現了個名詞-向上轉型。所以就來討論下向上和向下轉型的內容和意義,內容會隨著我看書的進度一直更新的
JAVA的向上轉型 和 向下轉型
向上轉型 是面向物件繼承的一種形式,是指子類物件轉換為父類物件。 看下面的example class Instrument { public void play() { System.out.println("Instrument play"); }
java——向上轉型和向下轉型
Father f1 = new Son(); // 這就叫 upcasting (向上轉型) // 現在 f1 引用指向一個Son物件 Son s1 = (Son)f1; // 這就叫 downcasting (向下轉型) // 現在f1 還是指向 Son物件 Father f2 =
java學習-向上轉型和向下轉型
一,多型 在設計一個方法的時候,通常希望該方法具備一定的通用性。比如實現一個動物叫的方法,每個動物的叫聲是不一樣的,可以在方法中接收一個動物型別的引數,當傳入貓類物件的時候就發出喵的聲音,相對傳入狗的物件就發出汪的聲音。同一個方法這種應為引數不同而導致執行效果不同的現象叫做
c++中向上轉型和向下轉型,動態轉換,和靜態轉換詳解
子類轉換為父類:向上轉型,使用dynamic_cast<type_id>(expression),這種轉換相對來說比較安全不會有資料的丟失; 父類轉換為子類:向下轉型,可以使用強制轉換,這
關於Java繼承的 向上轉型和向下轉型
在Java中, 向上轉型(upcasting)和向下轉型(downcasting)的前提,必須是有“繼承關係”,向上轉型是自動的,向下轉型需要進行強轉。 例如: /**定義了一個“父”類*/ public class Father { /**姓名
java繼承向上轉型和向下轉型和動態繫結
1 概念: 把引用變數轉化為子類型別,則成為向下轉型。如果把引用變數轉化為父類型別,則成為向上轉型。 Java程式碼 publicclass Base { /** * 父類例項變數 */ String var = "baseVar"; /**
JAVA向上轉型和向下轉型(一)
在我們工作的時候通常會看到這樣的程式碼: Map<String,Object> m = new HashMap<String,Object>(); List<Object> l = new ArrayList<Object&
向上轉型和向下轉型
向上轉型:把子類物件轉成父類型別,即父類的引用指向子類物件。 A為父類,B為子類。 A b = new B(); 向上轉型時會執行子類重寫父類的方法,以及父類特有的方法。但是會丟失子類中特有的方法和資料。 向下轉型:把父類物件轉成子類型別,即將子類的引用指向父類
父子類的向上轉型和向下轉型
首先從一個例子看:class A { double f(double x, double y) { return x + y; } static in
物件型別的轉換(向上轉型和向下轉型)
1 //父類 2 class Parent 3 { 4 public static String kind="javastudy.extendsstudy.parent"; 5 public static int age=50; 6 pu
C#向上轉型和向下轉型
子類物件賦給父類型別的變數,稱為向上轉型。父類型別的物件賦給子類型別的變數,稱為向下轉型。上個例子,Vegetable是父類,Potato是子類。namespace ConsoleApplication1{ class Vegetable { public
理解“向上轉型”和“向下轉型”的簡單例子
import static net.mindview.util.Print.*; class Useful{ public void f(){print("Useful:f()");} public void g(){print("Useful
Java面向物件之多型(向上轉型與向下轉型)
多型,大概每個人都知道。但是,又有幾個人真的理解什麼是多型、多型有哪些細節呢?如果你看到這篇文章的名字,腦海中對多型沒有一個清晰的概念,不妨點進來看看,也許會有收穫。 什麼是多型 簡單的理解多型 多型,簡而言之就是同一個行為具有多個不同表現形式或形態的能力。比如說,有一杯水,我不知道
生動理解多型中向上與向下轉型
程式碼如下: 1 package cn.finall.com; 2 3 class Fu{ 4 public void show() { 5 System.out.println("顯示父類"); 6 } 7 } 8 9 class Zi exte