2 setxxx getxxx setXxx_getXxx 于 2017.01.07 17:05 提问

求大神帮我解决这个关于局部内部类问题!

public class Test {

public void f1() {
int num = 2;
class Demo {
int num = 3;
public void run() {
}
}
}
public static void main(String[] args) {
}
}
在一个局部内部类中有一个num,而外部方法中也有一个num,现在想要在局部内部类的方法中把两个num的值都拿到。这个怎么解决?

3个回答

a29562268
a29562268   2017.01.07 17:20

外面的用类对象调用……

u010528826
u010528826   2017.01.07 17:27
public void f1() {
        int num = 2;

        class Demo {
            int num = 3;

            public void run(int num) {
                System.out.println("非内部类的num:" + num);
                System.out.println("内部类的num:" + this.num);
            }
        }
        new Demo().run(num);

    }

    public static void main(String[] args) {
        new Test1().f1();
    }

LD0807
LD0807   2017.01.07 17:48

楼上那样处理是可以的,如果不传参,这样也行

 public class Test {
    public void f1() {
        final int num = 2;
        class Demo {
            private int num1 = 3;
            public void run() {
                System.out.println(num1);
                System.out.println(num);
            }
        }
        new Demo().run();
    }
    public static void main(String[] args) {
        Test t = new Test();
        t.f1();
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!