/**
* 第8题:在打印语句中如何打印这3个x变量?
* @author Administrator
* */
/**
* class A {
int x = 1;
class B {
int x = 2;
void func() {
int x = 3;
System.out.println( ? );
}
}
}
* */
public static void main(String[] args){
//创建外部类A的对象a
A a=new A();
//创建对象a中内部类B的对象b
A.B b= a.new B();
//调用b的func()方法
b.func();
}
}
class A {
int x = 1;
class B {
int x = 2;
void func() {
int x = 3;
//第一个x为A的成员变量,即A.this。x
//第二个x为B的成员变量,即A.B.this。x 或者 this.x
//第三个x为当前x变量值,即x
System.out.println("A.x="+A.this.x+"-----"+"A.B.x="+A.B.this.x+"-----"+"this.x="+this.x+"-----"+"x="+x);
}
}
}
一道面试题,希望能帮住到你。