在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. 訪問說明
- 4. 接口聲明的訪問說明符
- 5. JavaScript變量說明
- 6. 重寫變量Java繼承的說明
- 7. 用Java中的訪問修飾符重新聲明變量
- 8. 訪問說明符和訪問修飾符有什麼區別?
- 9. =默認忽略訪問說明符?
- 10. 訪問說明符和虛函數
- 11. C#內部訪問說明符,
- 12. Apex訪問說明符和測試類
- 13. 訪問變量聲明的變量
- 14. 訪問未聲明變量
- 15. Java:易變變量訪問
- 16. Java中的私有訪問說明符用法繼承
- 17. 需要說明:java中的私有訪問修飾符
- 18. 說明使用類變量?
- 19. Java訪問時間變量
- 20. Java訪問實例變量
- 21. 訪問修飾符和訪問說明符之間有什麼區別
- 22. 在聲明前訪問視圖變量
- 23. 訪問alertController中聲明的變量
- 24. 訪問Java Scipt對象的未聲明變量
- 25. 在synchronized塊中聲明無法訪問的變量 - Java的
- 26. Java聲明變量
- 27. Java變量聲明
- 28. java變量聲明
- 29. Java聲明/變量範圍問題
- 30. 在文件中訪問聲明爲變量的變量
請參考,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