2013-07-09 479 views
-1

IN OBJECT CREATION,在java中創建實例

Bike b = new Honda();

對於哪類創建對象...對於本田還是對於自行車?

自行車是父母班,本田是孩子班。

回答

13

對象對象類型Honda已創建。 變量的類型爲Bike。變量的值是一個引用 - 該引用必須始終爲null值,或者必須引用與兼容的Bike的對象,以便成爲b變量的值。這很好,因爲Honda類型與Bike類型的分配兼容。

例如,如果打印出b.getClass()例如,它仍然會顯示Honda,因爲它指的是對象的執行時間類型。但是,如果有隻Honda(不Bike)聲明的方法,那麼你將不能夠直接調用它們b

// This would be invalid, assuming that getHondaGarage is declared in Honda 
String garage = b.getHondaGarage(); 

即使對象本身(在執行時)支持方法, 變量的類型爲Bike表示您只能訪問由Bike及其超類聲明的成員。

+0

感謝您的回覆 – Ganesh

4

Object(或)將爲Honda類創建實例。

=符號的左側表示參考類型爲Bike,右側是實例。

+0

感謝您的回覆 – Ganesh

2

類型HondaObject已創建。

更多短語「實例化類」表示「創建對象」的意思相同。當你創建一個object時,你正在創建一個類的「instance」,因此「實例化」一個class

1

該對象的類型爲Honda

b instanceof Honda == true 

在另一方面,變量的類型的Bike

1

ObjectHonda類將被創建,但它會被存儲在Bike類型的可變,確保Bike派生類Honda ...