Java中的Get和Set方法有什麼實際意義?

時間 2021-06-02 13:38:06

1樓:不知名

因為一般情況下,對成員變數的使用沒有任何限制。

不過有時候我們希望發布的物件能夠按照自己的規則進行發布:

public class Demo{

private String strings = new String{"A","B","C"public String getStringsreturn Arrays.toString(strings

這裡返回的是Arrays.toString(strings),而不是直接返回strings引用。這種需求場景是有的,比如「逸出」問題,如果直接返回引用,實際上和把strings直接置為public修飾沒區別。

2樓:Shay Li

直接訪問無法控制訪問者設定的變數滿足使用條件。比如男女廁所,男廁所只接受男性,女廁所只接受女性,你訪問廁所的時候,入口要看你是男是女,是否匹配,不滿足就後果不是很美麗:)

3樓:

這是OO和OP之見的差別。同時可以保護資料,你單純的get set可能看不出太多,但是很多業務場景上,我可以在get set裡面做處理

java中,字串比較的equals方法需要自己編嗎?

樂享生活522 字串比較的方法不需要自己實現,可使用apache提供的StringUtils類中的equals方法,需要引入commons lang3 3.5.jar 具體實現方式及相關注釋如下 lt p Compares two CharSequences,returning if they re...

Java 中,構造方法是否有返回值?

黃哥 正確的使用搜尋引擎是多麼重要!搜尋結果中,stackoverflow 網上的問答,就能找到你要的答案。建議用 搜狗英文 搜尋。 invalid s 沒有。物件的建立分為兩步。第一步是從某個位置獲得一塊記憶體,第二步是把這塊記憶體 初始化 而乙個物件如何初始化,只有它的設計者知道。建構函式就是這...

有關Java中類的繼承中方法繼承的問題?

Intopass 對於非靜態方法,有幾種呼叫方法。staticMethod this.staticMethod instance.staticMethod ClassName.staticMethod 強烈建議只使用第一種直接呼叫和第四種通過類名呼叫的方法。並且將第一種方法等同於第四種方法,並理解對...