亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個數組里的元素為什么這么寫,在哪節課學到過?是什么意思?能不能寫的容易理解些?

car?[?]?carForRent={new?passengerCar(1,"奧迪A4",500,4),new?passengerCar(2,"馬自達6",400,4),

??????????????????????????????????????????new?pickUp(3,"皮卡雪6",450,4,2),new?passengerCar(4,"?金龍?",800,20),

??????????????????????????????????????????new?trunk(5,"松花江",400,4),new?trunk(6,"依維柯",1000,20)};


正在回答

2 回答

這個就是利用了Java繼承,多態的概念,因為數組里不同的車的Java類都繼承于Car類,所以可以統一用一個父類Car的數組去接收,不用再新建不同的對象的數組。

0 回復 有任何疑惑可以回復我~
#1

慕數據3565510 提問者

數組定義是,類型 名字[],這里怎么用類名了?在本課程哪里講到過可以這么用?
2017-05-18 回復 有任何疑惑可以回復我~
#2

慕數據3565510 提問者

如果新建不同的對象的數組,代碼要怎么寫?能寫一下嗎,方便我理解
2017-05-18 回復 有任何疑惑可以回復我~
#3

ZaizhanShi 回復 慕數據3565510 提問者

回答一般在晚上,如果有問題可以再找我。我也剛學了才半年。一同進步。
2017-05-18 回復 有任何疑惑可以回復我~
#4

風中搖曳的火焰 回復 慕數據3565510 提問者

你自己也看到了 Car就是類型 并且包含了其他的三種,所以你可以用Car這個大的類型來接受其他三個小類型。
2017-07-15 回復 有任何疑惑可以回復我~
查看1條回復

如果新建不同的對象的數組,代碼要怎么寫?能寫一下嗎,方便我理解

0 回復 有任何疑惑可以回復我~
#1

ZaizhanShi

按照你的案例來說,有父類 Car 繼承類 PassengerCar , Trunk。如果不用Car類數組 Car[] cars 去接收,除了總類數組 Object[] objects 是無法同時接收 PassengerCar 和 Trunk 兩個類的。因為 這兩個除了繼承于同一個父類Car類只有一種關系就是繼承與總類Object類。你只能用兩個數組 PassengerCar[] passengerCars 去接收 PassengerCar 類 ,Trunk[] trunks 去接收Trunk類 因為類型不同 你不能用passengerCars 去接收 Trunk類型的對象
2017-05-18 回復 有任何疑惑可以回復我~
#2

慕數據3565510 提問者 回復 ZaizhanShi

你這么說,我明白點了,如果我不理解,只知道這么用,接著往下學會不會在后面慢慢懂了,慢慢學會?
2017-05-18 回復 有任何疑惑可以回復我~
#3

ZaizhanShi 回復 慕數據3565510 提問者

等你慢慢學下去,稍微了解點面對對象的思想,和繼承,多態的理解,你就懂了。
2017-05-19 回復 有任何疑惑可以回復我~
#4

ZaizhanShi 回復 慕數據3565510 提問者

你現在只要記住 Object類是所有類的總類,所有對象都能接收,但只能使用Object類的方法,不能使用具體接收對象的內部的擴展方法,父類能接收子類對象,但不能使用子類擴展的方法,并且Object類與父類調用方法時,如果具體對象(子類)重寫了這個方法,就會自動去調用具體對象(子類)的同名同參方法
2017-05-19 回復 有任何疑惑可以回復我~
#5

慕數據3565510 提問者 回復 ZaizhanShi

感謝回答,下面這段代碼 this.setCarNumber(carNumber);是什么意思?是給封裝的CarNumber賦值為carNumber嗎? 我記著賦值不是this.CarNumber=carNumber嗎?多了一個set還有個括號什么意思?。?/div>
2017-05-19 回復 有任何疑惑可以回復我~
#6

慕數據3565510 提問者 回復 慕數據3565510 提問者

明白了,刪掉
2017-05-19 回復 有任何疑惑可以回復我~
#7

慕數據3565510 提問者 回復 ZaizhanShi

如果我通過Scanner輸入了new passengerCar(1,"奧迪A4",500,4),中的1,怎么通過1調用500或者4?
2017-05-19 回復 有任何疑惑可以回復我~
#8

ZaizhanShi 回復 慕數據3565510 提問者

setCarNumber(carNumber) 就是賦值carNumber,因為一般設計對象是對象內變量不是公共訪問的,而用public方法去賦值獲取變量的值,在這個方法的方法體里 就是你說this.carNumber = carNumber
2017-05-19 回復 有任何疑惑可以回復我~
#9

ZaizhanShi 回復 慕數據3565510 提問者

你的new passengerCar(1,"奧迪A4",500,4) ,不是用1 去調用 500 或者4,而是去辨別對象,找出id是1的變量再調用他 500和4的變量或者方法
2017-05-19 回復 有任何疑惑可以回復我~
#10

慕數據3565510 提問者 回復 ZaizhanShi

謝謝明白了
2017-05-20 回復 有任何疑惑可以回復我~
查看7條回復

舉報

0/150
提交
取消

這個數組里的元素為什么這么寫,在哪節課學到過?是什么意思?能不能寫的容易理解些?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號