本帖最后由 qwert 于 2011-12-23 18:25 编辑
各位前辈,我在看内部类的时候看到这里有个小小的疑问,就是下面这段代码中在不注释掉值为11和12的x的前提下,怎么访问到值为10的常量?- abstract class AbsDemo
- {
- abstract void show();
- }
- class Outer
- {
- private int x=9;
-
- public void method()
- {
- final int x = 10 ; //就是想访问这个x
- new AbsDemo()
- {
- int x = 11;
- void show()
- {
- int x = 12;
- System.out.println("x1="+x);
- System.out.println("x2="+this.x);
- System.out.println("x3=" );//就是想知道在不注释掉12和11这俩x的前提下,这写什么是能输出身为常量的那个x?
- System.out.println("x4="+Outer.this.x);
- }
- }.show();
- }
- }
- class InnerClassDemo4
- {
- public static void main(String[] args)
- {
- new Outer().method();
- }
- }
复制代码 |
|