如果 我在 方法内部类外的方法中 定义一个变量 ;如何获得? 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();}
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(); } }
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(); } }
内部类的方法中访问外部属性--------外部类名.this.属性名
即:System.out.println("此处我改如何获得 i 的值"+外部类名.this.i);------这里你没给出外部类,你只有外部的方法。。。。。public void showInner()前面应该有如public class HelloWorld