super是父類對(duì)象的引用為啥不能輸出地址
為什么在實(shí)例方法或構(gòu)造方法中System.out.println(this)能輸出地址,而System.out.println(super)會(huì)報(bào)錯(cuò),this和super不都是引用嗎,為啥不能輸出super的地址
為什么在實(shí)例方法或構(gòu)造方法中System.out.println(this)能輸出地址,而System.out.println(super)會(huì)報(bào)錯(cuò),this和super不都是引用嗎,為啥不能輸出super的地址
2019-07-22
舉報(bào)
2019-07-23
因?yàn)槭褂卯?dāng)前類的時(shí)候肯定會(huì)new當(dāng)前類的對(duì)象,會(huì)在內(nèi)存里為當(dāng)前對(duì)象開辟一塊空間,System.out.println(this)就能把開辟出的內(nèi)存地址輸出出來。反過來想,當(dāng)前類繼承父類的時(shí)候,只是繼承父類的屬性和方法,在new當(dāng)前類的時(shí)候,不會(huì)new一個(gè)父類,父類沒有被實(shí)例化,肯定是不被允許輸出地址的。不管什么類,只有被實(shí)例化的時(shí)候,才會(huì)有內(nèi)存空間,不被實(shí)例化,僅僅是一串沒有被編譯的代碼而已。不知道你能理解我說的話嗎