直接上代码啦。。。
public class Outer{
    double i=0;
    public class inner{
        double i=0;
        public void printLine(){
            double i=0;
            System.out.println(i);              //对 printLine()中 i 的调用
            System.out.println(inner.this.i);   //对 Inner 中 i 的调用
            System.out.println(Outer.this.i);   //对 Outer 中 i 的调用
        }
    }
    //问题来了。。。。
    public void getInner(){
        double i=0;
        class innerer{
            double i=0;
            private void print(){
                System.out.println(i);             //对 innerer 类中的 i 调用
                // TODO 怎么样调用 getInner()中 i 的值 
                System.out.println();
                System.out.println(Outer.this.i);   //对 Outer 中 i 的调用
            }
        }
    }
}
发现缩进没有用 T__T 帮忙解答下 //TODO 里面的问题
|  |      1PandaFack      2015-10-22 18:23:44 +08:00 改个名字, 然后定义成 final 的 | 
|  |      3unique      2015-10-22 18:31:56 +08:00 ```java public class Outer { double i = 0; public class inner { double i = 0; public void printLine() { double i = 0; System.out.println(i); // 对 printLine()中 i 的调用 System.out.println(inner.this.i); // 对 Inner 中 i 的调用 System.out.println(Outer.this.i); // 对 Outer 中 i 的调用 } } // 问题来了。。。。 public void getInner() { // 此处 i 是 getInner 方法的内部变量,在外部无法调用 double i = 0; // 这里是 innerer 是局部内部类,在外部无法调用, Outer 内可以调用 class innerer { double i = 0; private void print() { System.out.println(i); // 对 innerer 类中的 i 调用 // TODO 怎么样调用 getInner()中 i 的值 System.out.println(); System.out.println(Outer.this.i); // 对 Outer 中 i 的调用 } } // 这样调用 innerer 的 print 方法 new innerer().print(); } } ``` | 
|  |      5SoloCompany      2015-10-22 20:16:50 +08:00 不能 | 
|  |      6hush OP @SoloCompany 感觉也是,后面的 i 把前面的隐藏了 | 
|  |      7Cloudee      2015-10-23 09:11:21 +08:00 via iPhone 这里貌似只能改个局部变量的名字了... |