我是java新手,請解釋一下,在超類中使用實例變量有什麼用處,因爲我們無法在方法子類中重寫它們。我們如何改變子類中超類實例變量的值,也請說明你是如何得到這個的! 。如果我們只是簡單地改變了它的價值,那麼在使用多態性超值將返回,而不是他,我們在子類中已經改變了它什麼是超類中的實例變量,以及如何在子類中更改它們的值
0
A
回答
1
實例變量在超類中的重要性在於它們將被該超類的所有子類繼承,從而減少代碼冗餘。要更改從超類設置私有實例變量的值的值,請在子類的構造函數中使用super關鍵字。在實例化後改變實例變量的值使用超類中定義的增變器(setter)方法。按照慣例,增變器方法將被命名爲setVariable()。
0
只有protected
,public
和默認(無修飾符)變量可以被修改在子類中。您無權訪問子類中的private
變量。
要修改一個變量,所有你需要做的就是改變它的值,就像你在超類中一樣。但是,您不能像方法那樣覆蓋變量,因爲Java根本不支持。你所能做的就是改變他們的價值觀。
1
變量不能被覆蓋。如果在子類中聲明一個具有相同名稱的變量,它們只是不同的變量。訪問舊變量的超類中的那些方法仍然繼續讀取和寫入該變量,並且子類中的方法訪問新變量。要訪問子類中的舊變量,可以使用super.variableName
構造。
相關問題
- 1. 子類可以如何更改父類實例變量的值
- 2. 我想在超類的方法中使用超類實例變量作爲參數,在改變子類中實例變量的值
- 3. 什麼是C#中的自定義值類型,以及如何創建它們?
- 4. 什麼是默認的ReflectPermissions以及如何更改它們?
- 5. 實例變量在子類中不可用?從我的超類
- 6. 什麼是NULL值,以及如何在SQLite中處理它們
- 7. 子類如何獲取超類的實例變量?
- 8. 更改子類中變量的值?
- 9. 一個類的實例以及如何測試它們
- 10. 符號常數:它們如何存儲以及它們的類型是什麼?
- 11. 從子類更改父實例變量的值
- 12. 什麼是變量的類型是RatingBar以及如何獲取它?
- 13. 如何更改我的子類中的變量的實現?
- 14. 在Java中,爲什麼在父類和子類中聲明的變量在子類的實例中不可見?
- 15. 是否有可能從Java的超類中調用子類的實例變量?
- 16. 如何從子類訪問超類實例變量?
- 17. 如何修改子類中的超類變量?
- 18. 如何用它的超類的實例啓動我的子類?
- 19. 一個類的實例是否可以在另一個類的實例中更改變量?
- 20. 爲什麼超類的實例可以放入子類的數組中?
- 21. 當子類更改超類方法的實現時,它會調用什麼?
- 22. 爲什麼子類不會覆蓋其超類變量的值?
- 23. 如何將變量存儲在類中以及它們的執行流?
- 24. APTANA:什麼是JS斷點以及它們爲什麼在PHP文件類中?
- 25. 如何創建類的實例並在子類中實現它?
- 26. 子類中的實例變量訪問
- 27. 如何更改窗體中的實例中的變量的值
- 28. 什麼是IntelliJ中的「手錶」以及如何使用它們?
- 29. 什麼是BitBucket中的分支以及如何管理它們
- 30. 更改子類中的靜態變量不改變它的父類