本帖最后由 聖手`书生 于 2013-4-7 21:00 编辑
从代码中,如果我不定义内部类中的静态变量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();
- }
- }
复制代码 |
|