回覆列表
  • 1 # 從零跟我學Java

    主要有兩種方式:

    第一種方式

    在這個私有屬性的類中為該屬性提供get和set方法。

    第二針方式

    如果不能提供get和set方法就用反射來獲取,Java中說的封裝可以被反射打破。

  • 2 # 淺析架構

    非私有方法間接訪問

    既然是私有屬性就不建議直接訪問的,一般會提供方法來訪問私有屬性,這樣可以在方法中對屬性的訪問做一些控制。

    反射直接訪問

    當然也可以透過反射來直接訪問。

    我們準備一個包含私有屬性的類

    然後透過反射來訪問屬性,記得一定要加aField.setAccessible(true);這句程式碼,不然就不能訪問私有屬性。

    不加aField.setAccessible(true);

    加了aField.setAccessible(true);

  • 3 # TonyDeng

    應該考慮的問題是,你這個屬性在邏輯上屬於私有還是公開,邏輯上私有的東西,你用什麼技巧去訪問它都是錯誤的做法。

    面向物件不是玩越獄語法,是講邏輯。如果語言提供了這類(越獄)手段,那麼它的嚴密性是有問題了。C++的友元被人詬病,其他語言也不採納,原因就在這裡。

  • 中秋節和大豐收的關聯?
  • 如何在mybatis中列印sql?