第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

教程中animal向dog的向下轉(zhuǎn)換是不是一個(gè)特例?

如果這樣寫:

Animal animal = new Animal();

Dog dog = (Dog)animal;

運(yùn)行的時(shí)候會(huì)報(bào)錯(cuò)

而教程的例子中是先創(chuàng)建dog,讓animal指向它,再創(chuàng)建dog2的時(shí)候才能用(Dog)animal賦值。

所以教程中的例子是不是一個(gè)特例?一般情況下應(yīng)該是不能將父類實(shí)例強(qiáng)制轉(zhuǎn)換成子類引用的吧?

正在回答

5 回答

你創(chuàng)建的是父類方法,你看看子類有多少個(gè),系統(tǒng)無法識(shí)別指向哪一個(gè),當(dāng)然會(huì)報(bào)錯(cuò),你下面說的不太理解,我查查看

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕尼黑2980719 提問者

非常感謝!
2016-08-09 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕尼黑2980719 提問者

剛剛也在書上看到了,如果試圖把一個(gè)父類實(shí)例轉(zhuǎn)換成子類類型,則這個(gè)對象必須實(shí)際上是子類實(shí)例才行,否則運(yùn)行時(shí)會(huì)有異常。 所以如果animal實(shí)際指向的是dog,那它就能強(qiáng)制轉(zhuǎn)換為Dog 如果animal指向的是Animal,那它強(qiáng)制轉(zhuǎn)換成Dog之后,運(yùn)行的時(shí)候會(huì)出錯(cuò) 即,以下轉(zhuǎn)換是可以的: Animal animal = new Dog();//animal實(shí)際指向Dog Dog dog = (Dog)animal; 而以下轉(zhuǎn)換是不行的: Animal animal = new Animal();//animal實(shí)際指向Animal Dog dog = (Dog)animal;
2016-08-09 回復(fù) 有任何疑惑可以回復(fù)我~

public class Demo{

public static void main(String[] args) {

Animal a=new Animal();

a=new Cat();

if(a instanceof Cat){

Cat c=(Cat)a;

c.test();

}else {System.out.println("無法進(jìn)行強(qiáng)制轉(zhuǎn)換");

}

}

}

class Animal {

public void test(){

System.out.println("轉(zhuǎn)換成功");

}

}

class Cat extends Animal {

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

我試了你說的父類引用指向子類的對象,結(jié)果轉(zhuǎn)換成功,下面是我的代碼

package com.測試;

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

Animal a=new Cat();

if(a instanceof Cat){

Cat c=(Cat)a;

c.test();

}else System.out.println("無法進(jìn)行強(qiáng)制轉(zhuǎn)換");

}


class Animal {

public void test(){

System.out.println("轉(zhuǎn)換成功");

}


class Cat extends Animal {

}

}





0 回復(fù) 有任何疑惑可以回復(fù)我~

抱歉,我好像說錯(cuò)了,

0 回復(fù) 有任何疑惑可以回復(fù)我~

好吧,也百度到了一些東西

Java中父類強(qiáng)制轉(zhuǎn)換成子類的原則:父類型的引用指向的是哪個(gè)子類的實(shí)例,就能轉(zhuǎn)換成哪個(gè)子類的引用。

希望大家能一起討論

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

教程中animal向dog的向下轉(zhuǎn)換是不是一個(gè)特例?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號