在java中,是否有一種(直接)方法使變量能夠被訪問出類但不能被更改?我在A類中有一個變量,在B類中需要它。我可以將它公開(壞習慣),但我不希望B類能夠改變它。有沒有辦法做到這一點,或者我只需要公開並小心呢?此外,我需要保持從A級內部變更變量的能力,排除最後的變數。Java:變量訪問說明符
-2
A
回答
2
是的:你可以提供一個吸氣劑。這幾乎是它,但這就是你如何假設來做到這一點。
public Type getField() {
return field;
}
1
您可以使用反射來讀取私有值。
公共類的Test1 {
private int num;
public Test1(int n){
this.num =n;
}
}
訪問私有變量
Field classField = Test1.class.
getDeclaredField("num");
classField.setAccessible(true);
classField.getInt(t);
System.out.println(classField.getInt(t));
相關問題
- 1. Java - 訪問說明符
- 2. 訪問說明符
- 3. 在java中省略訪問說明符
- 4. 關於訪問說明符
- 5. Java默認訪問說明符可在包之外訪問嗎?
- 6. 訪問說明
- 7. 接口聲明的訪問說明符
- 8. 重寫變量Java繼承的說明
- 9. 用Java中的訪問修飾符重新聲明變量
- 10. Java訪問變量
- 11. 訪問說明符和訪問修飾符有什麼區別?
- 12. C++訪問說明符理解
- 13. =默認忽略訪問說明符?
- 14. 訪問說明符和虛函數
- 15. 訪問說明符和右值引用
- 16. Apex訪問說明符和測試類
- 17. C#內部訪問說明符,
- 18. 訪問變量聲明的變量
- 19. 訪問未聲明變量
- 20. 變量中的格式說明符?
- 21. Java:易變變量訪問
- 22. 需要說明:java中的私有訪問修飾符
- 23. 爲什麼C++類沒有類似Java的訪問說明符?
- 24. Java中的私有訪問說明符用法繼承
- 25. java中的訪問說明符和代碼可重用性
- 26. Java中的默認訪問說明符可從類外部訪問
- 27. 關於訪問說明
- 28. 從FLA庫訪問帶有訪問說明符「Internal」的類
- 29. 說明使用類變量?
- 30. 我應該像對Java說明符一樣將相同的做法應用於PHP訪問說明符嗎?
請參考,http://stackoverflow.com/questions/14324805/class-variable-public- access-read-only-but-private-access-rw – Prabhakar
http://stackoverflow.com/questions/8151342/do-we-have-a-readonly-field-in-java-which-is-set-able-在範圍內的C http://stackoverflow.com/ques tions/14324805/class-variable-public-access-read-only-but-private-access-r-w – Prabhakar