0
我只是在想,我想知道:因爲訪問控制只是爲了防止意外而不是防止欺詐,我想知道是否有可能訪問Java中隱藏變量的值?私人訪問控制
就拿
public Cat {
public int numberOfLegs = 4;
private int numberOfWhiskers = 42;
}
是否有可能找到這個類的外numberOfWhiskers的價值?
編輯:我已閱讀鏈接中的線程,我可以看到通過使用SetAccesible()可以獲取任何私有字段的值,您知道該名稱。 我們可以找到我們不知道名稱的字段的值嗎?
注意:這個可以可以在一些語言如C++中完成,例如通過使用遍歷類中的字段的指針。
我有點不同意你的前提。事實上,Java設計用於支持VM中運行的不可信代碼的保護。這就是安全管理器和安全模型的設計目的。訪問控制是安全模型的組成部分,並且在運行時驗證,它們不僅僅在編譯期間使用。 –