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

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

新人求教java小問(wèn)題

public?class?Vehicle{
??public?int?site;
??public?void?test(){
????System.out.println("site:"+site);
????}
}//父類
public?class?Car?extends?Vehicle{
??public?int?site=5;
}//子類
public?static?void?main(String[]?args)?{
??Vehicle?v=new?Car();
??v.test();
}

想請(qǐng)問(wèn)為什么這時(shí)候輸出的是 site:0

先實(shí)例化再賦值就不會(huì)這樣,那如果我就像讓它輸出我本身就賦好的值,這段程序該怎么改

正在回答

5 回答

public?static?void?main(String[]?args)?{

??Vehicle?v=new()?Car;

??v.test();

}

在主函數(shù)中你創(chuàng)建的是父類Vehicle 的對(duì)象,調(diào)用的是父類的方法,而在父類中site沒有賦值所以默認(rèn)為0啊,

子類繼承父類的方法,首先在子類中把test方法寫上,然后再main方法中創(chuàng)建子類的實(shí)例,再去調(diào)用子類中的test方法就可以了。

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

yymooc

還有如果Vehicle v=new() Car;是你創(chuàng)建的對(duì)象的話,寫法也是錯(cuò)誤的,創(chuàng)建父類應(yīng)該是Vehicle v=new Vehicle();
2015-02-05 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Agnoy 提問(wèn)者 回復(fù) yymooc

這個(gè)地方是筆誤... 受教了
2015-02-05 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Agnoy 提問(wèn)者

非常感謝!受教
2015-02-05 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)槟阕宇悰]有重寫test()函數(shù),如果你把父類的那個(gè)函數(shù)復(fù)制到子類中,


其他不做改變,那么結(jié)果就是子類的數(shù)值了。


其實(shí)老師說(shuō)的重點(diǎn)不是這個(gè),而是主要想說(shuō)多態(tài)這個(gè)概念。


下面用例子解釋為什么視頻要用父類引用指向子類對(duì)象,也就是實(shí)現(xiàn)多態(tài)。


程序功能:當(dāng)交通方式為空運(yùn)時(shí),輸出該交通方式可搭乘人數(shù)。


假設(shè)你不知道多態(tài)時(shí),你會(huì)怎么完成以上功能。

/*/////////////////////////////////////////////////////*/

public class Main {


????public static void main(String[] args) {


???????? Transport transport;//Transport為交通工具父類

???? ????

?????????transport=new Car();//Car為子類

? ? ? ? ?

???? ????transport=new Boat();

? ? ? ??

???? ????transport=new Plane();

? ? ? ? ??

????

???? ????if(transport.getMeans().equals("airTransport")){?//getMean()得到交通方式


???? ????????System.out.println("numOfPeople:"+transport.getNum());


????????}

????}


}

/*////////////////////////////////////////////////////*/


以上代碼使用了多態(tài)。


即視頻里老師說(shuō)的用父類的引用指向子類對(duì)象可以方便的實(shí)現(xiàn)該功能。


可是你如果不知道多態(tài),就只能直接用子類引用指向子類對(duì)象即


Car car=new Car();Boat boat=new Boat();Plane plane=new Plane();


然后你要去怎么比較呢?難道寫三段


if(car.getMeans.equals("airTransport"))


if(boat.getMeans.equals("airTransport"))


if(plane.getMeans.equals("airTransport"))


才能判斷得出結(jié)果嗎?這也太麻煩了。


這時(shí)候多態(tài)的作用就體現(xiàn)出來(lái)了,父類引用會(huì)自動(dòng)地指向不同子類對(duì)象,


自動(dòng)調(diào)用各子類對(duì)象的重寫方法進(jìn)行比較,這樣就方便多了。


現(xiàn)在可以體會(huì)到多態(tài)的作用了吧。


ps:自己的一點(diǎn)理解,有錯(cuò)誤歡迎指出。





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

Agnoy 提問(wèn)者

謝謝指教!
2015-02-12 回復(fù) 有任何疑惑可以回復(fù)我~
#2

MoreClass

父類引用子類對(duì)象時(shí),對(duì)象的名字可以相同是么?
2015-03-30 回復(fù) 有任何疑惑可以回復(fù)我~
#3

羅英河 回復(fù) MoreClass

對(duì)呀 父類引用指向子類對(duì)象時(shí),引用的名字(就是你說(shuō)的對(duì)象的名字)可以相同,不然的話,如果不相同,那不是還是要一個(gè)個(gè)寫出來(lái),比如transport1,transport2,transport3, 這樣的話不就沒有多態(tài)效果了。
2015-04-18 回復(fù) 有任何疑惑可以回復(fù)我~

//父類

public class Vehicle {

public int site;

?public void test(){

? ?System.out.println("site:"+site);

? ?}

}

//子類

public class Car extends Vehicle {

public int site=5;

public void test(){

? ?System.out.println("site:"+site);

? ?}

}

//測(cè)試類

public class Intial {


public static void main(String[] args) {

// TODO Auto-generated method stub

Car car = new Car();

car.test();

}


}

要想輸出子類的site值,就要調(diào)用子類的方法,首先在main中創(chuàng)建子類的對(duì)象,如下:

Car car = new Car();

car.test();


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

Agnoy 提問(wèn)者

謝謝了
2015-02-05 回復(fù) 有任何疑惑可以回復(fù)我~

可以再說(shuō)清楚點(diǎn)嗎? ?謝謝

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

v.test(); ? //運(yùn)行父類方法輸出父類值 ? ? ? ? ?

System.out.println(v.site); ? ?//運(yùn)行實(shí)例化的子類方法,輸出子類變量值

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

有一種愛叫KNA

33232
2015-02-05 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Agnoy 提問(wèn)者

可以再說(shuō)清楚點(diǎn)嗎? 謝謝
2015-02-05 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Java入門第二季 升級(jí)版
  • 參與學(xué)習(xí)       531098    人
  • 解答問(wèn)題       6280    個(gè)

課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙

進(jìn)入課程

新人求教java小問(wèn)題

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

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

幫助反饋 APP下載

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

公眾號(hào)

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