真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

向上轉型與向下轉型-創(chuàng)新互聯(lián)

Java轉型用于繼承或者在接口上,實現(xiàn)業(yè)務場景使用。轉型分為向上轉型和向下轉型。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、張家界網(wǎng)站維護、網(wǎng)站推廣。

向上轉型為自動轉型

向下轉型需要強制轉型

向上轉型

向上轉型是從一個較專用類型(子類),向通用類型轉換(父類),所以總是安全的。因為向上的父類存放的方法都是公共方法。

父類引用子類對象

Cate obj = new Say();

向上轉型后,obj可以調用子類重寫父類的方法,如果子類沒有重寫父類的方法,才會去調用父類的公共方法,這就是動態(tài)綁定關系。但是向上轉型后不能調用子類的特有方法。

向上轉型可以詳細看這篇

父類引用子類對象

向下轉型

將原本屬于父類的對象強制轉換為子類,就叫做向下轉型。向下轉型并不是每個對象都可以的,只有這個對象原本屬于子類向上轉型后的成為父類的對象,才能重新向下轉回變成子類。

向下轉型可能會導致丟失一些屬性信息,所以不推薦向下轉型。除非是業(yè)務需要。

語法

// 子類類型 引用名 = (子類類型)父類引用名
Say Gt = (Say)obj;

通過向下轉型后,子類對象可以調用子類的所有屬性及方法。

Cate obj = new Say();? ? // 父類引用子類對象,屬于向上轉型

// 從向上轉型強制轉為向下
Say Gt = (Say)obj;? ? // 只有向下轉型了,才能使用子類的所有屬性及方法
 System.out.println(Gt.Name);? ? // 輸出子類的Name;
Gt.Dt();? ? // 調用子類的方法

class Cate{
? ? String Name = "zhowHua";
? ? public void Met(){
? ? ? ? System.out.println("這是父類");
? ? }
}

class Say extends Cate{
? ? String Name = "JZ";
? ? public void Met(){
? ? ? ?  System.out.println("子類重寫父類的方法");
? ? }
? ? public void Dt(){
         System.out.println("子類特有的方法");
    }
}

判斷對象是否屬于子類

instanceof關鍵字

instanceof會返回一個對象是否屬于某個子類的布爾值。如果是則返回true,不是返回false。

我們通過instanceof邏輯判斷后,再對該對象進行強制轉換,保證安全性。

PRO S = new Stud("居正", 27, 95.5);

// 通過instanceof進行判斷S是否Stud的子類對象
if(S instanceof Stud){
? ? Stud Dt = (Stud)S;
}

通過數(shù)組對象遍歷向上轉型

可以將所有對象統(tǒng)一放進數(shù)組對象里,進行遍歷

// 創(chuàng)建數(shù)組對象
PRO[] arr = new PRO[6];
arr[0] = new Stud("居正", 27, 95.5);
arr[1] = new Tech("陳剛", 35, 10000);
arr[2] = new Stud("小明", 25, 76.5);
arr[3] = new Tech("李莉", 43, 15000);

 for (int i = 0; i< arr.length; i++) {
    arr[i].res();? ? // 遍歷數(shù)組調用當前數(shù)組元素的方法
 }

通過數(shù)組遍歷批量完成向下轉型
for (int a = 0; a< arr.length; a++) {
? ? if(arr[a] instanceof Stud){? ? // 通過instanceof對當前元素進行判斷是否為某個子類
? ? ? ? Stud aa = (Stud)arr[a];? ? // 判斷正確則進行向下轉換。
? ? ? ? ? ? aa.Dt();
? ? }else if(arr[a] instanceof Tech){
? ? ? ? Tech bb = (Tech)arr[a];
? ? ? ? ? ? bb.Dt();
? ? }else{
? ? ? ? System.out.println("異常");
? ? }
}

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁題目:向上轉型與向下轉型-創(chuàng)新互聯(lián)
標題鏈接:http://weahome.cn/article/csgehi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部