課程
/后端開發
/Java
/Java入門第二季 升級版
視頻中老師講的父類的引用指向子類對象為什么沒有new?
2016-10-16
源自:Java入門第二季 升級版 10-2
正在回答
new Dog()的時候已經開辟一個空間,父類的引用指向子類對象就是重新指向這個空間,而不是重新開辟空間,所以不需要再new。
qq_浮雲遊子_03977413 提問者
dog這個對象名,在java編譯器中默認就是他的內存地址。其實引用也就是子類與父類共用內存地址。已經把dog對象的內存地址賦予父類了,父類引用子類的內存地址,子類已經開辟了一塊內存空間,若再使用new關鍵字,那是再次開辟一塊新的內存空間,賦予新的內存地址,不是引用。造成了空間的浪費。
這是普通賦值,你可以賦新值(如用new)或者舊值。
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
1 回答父類引用指向子類對象。
3 回答為什么要用父類的引用指向子類的對象?
2 回答父類的引用可以指向子類的對象什么意思?
5 回答父類的引用是可以指向子類的對象的
3 回答為什么要用父類的引用指向對象?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-16
new Dog()的時候已經開辟一個空間,父類的引用指向子類對象就是重新指向這個空間,而不是重新開辟空間,所以不需要再new。
2016-10-23
dog這個對象名,在java編譯器中默認就是他的內存地址。其實引用也就是子類與父類共用內存地址。已經把dog對象的內存地址賦予父類了,父類引用子類的內存地址,子類已經開辟了一塊內存空間,若再使用new關鍵字,那是再次開辟一塊新的內存空間,賦予新的內存地址,不是引用。造成了空間的浪費。
2016-10-16
這是普通賦值,你可以賦新值(如用new)或者舊值。