如何獲取值方法內部類 的 類外方法內的值?
如果 我在 ?方法內部類外的方法中 ?定義一個變量 ;如何獲得? public ?void showInner() { int i =52; class InnerClass{ private int s = 325; private void showInnerClass() { System.out.println("方法內部類使用:"+s); System.out.println("此處我改如何獲得 ? ?i 的值"); ?}} InnerClass ic = new InnerClass(); ic.showInnerClass();}
2017-01-02
package?com.my.baseTest; /** ?*?JavaOutInnerClass?的測試 ?*?@author?my129 ?* ?*/ public?class?JavaOutInnerClassTest{ ?????public??void?showInner()?{? ?????????/** ???????????*?<h4>i?字段?:該字段?用?final?修飾后,可在方法內部類中調用;</h4> ???????????*/ ???? ?final??int?i?=52;? ?????????class?InnerClass{ ?????????????private?int?s?=?325;? ?????????????private?void?showInnerClass()?{ ?????????????????System.out.println("方法內部類使用:"+s);? ?????????????????System.out.println("此處我改如何獲得????i?的值"?+?i);?? ?????????????????} ?????????????}? ? ?????????????InnerClass?ic?=?new?InnerClass();? ?????????????ic.showInnerClass(); ?????} ?????public?static?void?main(String?[]?args){ ?????????JavaOutInnerClassTest?hello?=?new?JavaOutInnerClassTest(); ?????????hello.showInner(); ????}?? }2016-12-31
package?com.imooc; public?class?HelloWorld{ ?public??void?showInner()?{? ?int?i?=52;? ?class?InnerClass{ ?private?int?s?=?325;? ?private?void?showInnerClass()?{ ?System.out.println("方法內部類使用:"+s);? ?System.out.println("此處我改如何獲得????i?的值"?+?i);?? ?} ?}? ?????InnerClass?ic?=?new?InnerClass();? ?????ic.showInnerClass(); ?} ?????public?static?void?main(String?[]?args){ ???? ?HelloWorld?hello?=?new?HelloWorld(); ???? ?hello.showInner(); } }2016-12-31
內部類的方法中訪問外部屬性--------外部類名.this.屬性名
即:System.out.println("此處我改如何獲得 ? ?i 的值"+外部類名.this.i);------這里你沒給出外部類,你只有外部的方法。。。。。public ?void showInner()前面應該有如public class HelloWorld