Java的子类可以继承父类的私有变量和私有方法吗?
生活随笔
收集整理的這篇文章主要介紹了
Java的子类可以继承父类的私有变量和私有方法吗?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
答:實際上繼承了。
父類的成員變量(包含私有變量)和成員方法地址(包含私有成員方法)都存放在子類對象中。父類的私有變量和私有方法雖然在子類對象中,但是對于子類對象而言是不可見的,無法直接訪問和調用,必須通過父類的成員方法(或者父類的構造方法)才能訪問和調用,正是因為這樣的特性,所以 Java 官方文檔將其描述為不可以被子類繼承,但是從內存數據來看,父類的私有且非靜態的數據的確在子類的對象中。
從內存圖來看,子類對象根據繼承的層級劃分多個區塊,本類資源區、父類資源區、祖父類資源區等等,從父類繼承下來的私有變量和私有方法,都存儲在子類對象中的各自資源區內,只是 private 的數據,子類對象無法直接操作罷了。
注:父類的成員方法沒有被子類覆蓋重寫,則該方法會被繼承到子類中,父類私有方法無法被子類覆蓋重寫,肯定被子類繼承。
總結
以上是生活随笔為你收集整理的Java的子类可以继承父类的私有变量和私有方法吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京银行异地跨行转账可以吗?
- 下一篇: Java中父类的私有数据和静态数据在内存