課程
/后端開發
/Java
/Java入門第二季 升級版
如何理解這句話,Animal obj2 = new Dog();創建的這個對象到底是父類的對象還是子類Dog的對象???
2018-10-02
源自:Java入門第二季 升級版 10-1
正在回答
這么說可能好理解一些:new Dog()這個語句代表的就時創建的一個Dog類的對象,此時內存已經分配了空間。然后前面的Animal obj2是用來給這個對象賦值的,因為obj2是一個引用,他代表的就是對象的內存。然后他是父類的,所以他是父類的引用。
個人理解。
創建的是子類dog的對象,但是這個對象的類型是animal的類型,所以這個對象可以調用animal這個父類繼承下來的方法和屬性(子類重寫的方法同樣也可以),不能調用dog類所獨有的方法。
慕斯1062169
Animal obj2 = new Dog()可以理解為:obj2可以引用子類從父類繼承和重寫的方法,但是不可以引用Dog類中所獨有(父類中沒有的)方法
一只狗,你可以說他是一只狗,可以說他是一只動物。雖然說法不一樣,改變不了他是狗的事實。
子類dog的對象
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
1 回答父類引用指向子類對象。
2 回答父類的引用可以指向子類的對象什么意思?
3 回答為什么要用父類的引用指向子類的對象?
2 回答父類引用指向子類對象時,屬性的情況?
3 回答父類沒有屬性,子類新加的屬性,是不能用父類的引用指向子類對象的吧
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-10-18
這么說可能好理解一些:new Dog()這個語句代表的就時創建的一個Dog類的對象,此時內存已經分配了空間。然后前面的Animal obj2是用來給這個對象賦值的,因為obj2是一個引用,他代表的就是對象的內存。然后他是父類的,所以他是父類的引用。
個人理解。
2019-01-13
創建的是子類dog的對象,但是這個對象的類型是animal的類型,所以這個對象可以調用animal這個父類繼承下來的方法和屬性(子類重寫的方法同樣也可以),不能調用dog類所獨有的方法。
2018-10-31
Animal obj2 = new Dog()可以理解為:obj2可以引用子類從父類繼承和重寫的方法,但是不可以引用Dog類中所獨有(父類中沒有的)方法
2018-10-24
一只狗,你可以說他是一只狗,可以說他是一只動物。雖然說法不一樣,改變不了他是狗的事實。
2018-10-03
子類dog的對象