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

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的值都拿到。这个怎么解决?

外面的用类对象调用……

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();
    }

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

 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();
    }
}