从代码中,如果我不定义内部类中的静态变量static int x=4;则x输出的值默认就是外部类中的静态成员变量private static int x = 3; 如果我在内部类中定义了静态成员变量 static int=4;则默认x值就是4了,那么如果这时候我该如何调用外部类中的成员变量 int x=3 呢? 如果输出结果用this.x 的话,语法错误(静态对象不能引用非晶态变量this) 求解这时应该怎样访问外部类的成员变量。
class Outer
{
private static int x = 3;
static class Inner//静态内部类
{
static int x=4;
static void function()
{
System.out.println("innner :"+x);
}
}
static class Inner2
{
void show()
{
System.out.println("inner2 show");
}
}
public static void method()
{
new Inner2().show();
}
}
class InnerClassDemo2
{
public static void main(String[] args)
{
Outer.Inner.function();
}
}
复制代码
作者: 王薪婷 时间: 2013-4-7 20:07
static class Inner//静态内部类