如果涉及嵌套的私有方法,有沒有辦法訪問重寫類的變量?特別是,我想知道執行重命名函數后 B 類中 String foo 的值(請參見下面的示例)。我不打算更改 A 類代碼的任何功能,這只是為了以某種方式獲取值。我可以自由編輯 B 類,但如果真的沒有其他方法可以實現,則更改 A 類只是我的一個選擇。public abstract class A { protected void methodA() { String foo = "bla"; foo = renameFunction(foo); } private String renameFunction(String incString) { return incString + "blub"; }}public class B extends A { private String bar; @Override private void methodA() { String foo = "bla"; foo = renameFunction(foo); //will not work as it's private this.bar = foo; }}
1 回答

神不在的星期二
TA貢獻1963條經驗 獲得超6個贊
不,因為 foo 是方法內部的變量,它甚至不是 A 上的字段,因此它只存在于 ' 的執行范圍內,doSomthing
不能從外部訪問(就此而言,不能從 B 或 A)訪問。
只有通過反射才能調用私有方法,除非你想在單元測試或類似的東西中使用它,否則不推薦這樣做
添加回答
舉報
0/150
提交
取消