我有一个考试例子,询问我是否可以访问包含值1的x变量?解决办法是我可以,但我很感兴趣,究竟是如何?如何访问类作用域之外但父类作用域内的变量?
class A {
int x = 1; //this is what I need access to.
class B {
int x = 2;
void func(int x) {...}
}
}
我有一个考试例子,询问我是否可以访问包含值1的x变量?解决办法是我可以,但我很感兴趣,究竟是如何?如何访问类作用域之外但父类作用域内的变量?
class A {
int x = 1; //this is what I need access to.
class B {
int x = 2;
void func(int x) {...}
}
}
class A {
int x = 1;
class B {
int x = 2;
void func(int x) {
System.out.println(A.this.x);
}
}
}
使用例如:
public class Main {
public static void main(String[] args) {
A a = new A();
A.B b = a.new B();
b.func(0); // Out is 1
}
}
要访问父实例,您可以使用这个关键字为ParentClassName.this
子类必须不能是静态
是的,你可以用va访问变量x lue 1.
这里A是你的外部类,B是非静态内部类。
要访问外部类A的变量x,你可以做这样的事情
class B {
int x = 2;
void func(int x) {
System.out.print(A.this.x +" and "+x);
}
}
为什么考试这几天一直专注于边缘案件常反映不良做法的? – Bathsheba