最近學習java,學到繼承的這一塊,突然產生了題目所說的疑惑。例如下面的代碼:父類:子類:在實際使用的時候,創建一個Student 的對象 st1,不能訪問 name屬性,但是卻能調用setName(),getName()方法。我的疑惑是,該對象 st1,在創建的時候,系統是否在分配類存空間的時候,同時也分配了一個用于保存name屬性的空間,這個空間是隱藏的,不能st1直接使用,但能通過父類的方法進行訪問??也就是說這個st1對象,其實是也可以看作一個特殊的父類的對象,特殊之處在于屬性不可見?如果不是這樣,那么當我,使用了 st1.setName("xxx"); 字符串"xxx",又被保存在什么地方?本來我認為應該是可以這樣理解的,這個空間就是隱藏著的父類對象屬性,所以在使用 st1.getName(),才能得到對應的值。但是通過網絡搜索,發現有不少人也有這樣的疑惑?回答問題的人中,有人認為沒有創建父類對象,有人認為創建了,我也越來越搞不懂了......有沒有大牛能幫忙解下疑惑?萬分感激??!同時也希望大家能多多留言,寫出自己的看法,大家交流交流,共同進步
添加回答
舉報
0/150
提交
取消