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