關於子類訪問和修改父類屬性值的網上答案搜查+個人理解


java 怎樣永久改變父類中公有屬性的值

不太明白你要說什么,類中的屬性一般都是private?,保證封裝性,如果你要用public?,也沒任何問題。你要在子類中該父類的屬性,不是有getter和setter?的方式改啊。

格外說一句面向對象是把所有的都看成一個對象,你肯定是子類實例化,傳參的時候可以用getter調用,setter改回,或者直接在子類中在多加一個臨時屬性,保證傳回參數和運算。

轉載自:https://iask.sina.com.cn/b/1SWKvCfYuLyD.html

 

個人理解:父類中的值除非是某特殊類型的值,比如全局對象,否則是無法永久修改的,因為在每次實例化的時候都會初始化該值的值。

 

在這里想要繼續深入了解還需要查閱相關原型鏈的知識。

 

子類能改變父類的屬性值么

/*2#
樓主需要看情況實現哈!你在new一個子類對象的時候,需要先調用父類的相關構造器,對父類中的字段進行初始化操作!
如果父類中的字段的權限修飾符聲明為private的,那么子類將不能獲知父類中該字段的任何信息(就如同不存在一樣)。
別的權限聲明情境下,如果子類定義了一個和父類同名的字段,那么子類實例每次獲取的都將是子類中聲明的同名字段,
如果想要調用父類中的同名字段,需要使用super關鍵字進行調用。當然如果子類和父類中同名字段存儲的值不一樣,
那么取得的值自然也是不同的(具備不同的內存區間)。這個時候能夠達到樓主想要的需求!!如果子類中沒有與父類同名的字段,
那么子類將通過繼承獲得父類的該字段,對子類的該字段的操作當然也會被保存起來的!!*/

/*4#
你可以用2個子類一起繼承一個父類,然后用子類1調用父類的屬性,改變值,再用子類2調用看值改變了沒有,
明顯答案是沒有。。不可能徹底改變父類的值,如果能改變那程序都亂跑了。。。子類不能徹底改變父類的值,
只能調用父類的屬性重新賦值罷了。。*/



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM