亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用涉及的嵌套私有方法訪問覆蓋函數的公共變量

使用涉及的嵌套私有方法訪問覆蓋函數的公共變量

慕標5832272 2023-03-23 16:45:09
如果涉及嵌套的私有方法,有沒有辦法訪問重寫類的變量?特別是,我想知道執行重命名函數后 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)訪問。

只有通過反射才能調用私有方法,除非你想在單元測試或類似的東西中使用它,否則不推薦這樣做


查看完整回答
反對 回復 2023-03-23
  • 1 回答
  • 0 關注
  • 99 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號