A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 实战造就实力 于 2014-1-4 18:56 编辑

怎么在主函数中运行啊 ?帮忙解答。

class A {
int x = 1;

class B {
    int x = 2;

    void func() {
        int x = 3;
        System.out.println( ? );
    }
}
}

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

6 个回复

倒序浏览
System.out.println("func中x="+x);
System.out.println("内部类x="+this.x);
System.out.println("外部类x="+A.this.x);

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
由然自美 发表于 2014-1-1 16:36
System.out.println("func中x="+x);
System.out.println("内部类x="+this.x);
System.out.println("外部类x ...

怎么在主函数中运行啊
回复 使用道具 举报
建立对象调用就可以了,下面是用匿名对象调用的
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println(new A().x);
  6.                 System.out.println(new B().x);
  7.                 new B().run();
  8.         }
  9. }

  10. class A
  11. {
  12.         int x = 1;
  13. }

  14. class B
  15. {
  16.         int x = 2;

  17.         void run()
  18.         {
  19.                 System.out.println("keyi");
  20.         }
  21. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
楼上正解
回复 使用道具 举报
public class Test {
         * @param args
         */
       
        public static void main(String[] args) {
                //调用内部类B
                A.B d=new A().new B();
        d.func();  
        }

         static class A {
            int x = 1;
            class B {
                int x = 2;
         
                void func() {
                    int x = 3;
                    System.out.println( A.this.x + "," +  B.this.x + "," + x);
                }
            }
        }
}
回复 使用道具 举报
public class Test {
         * @param args
         */
       
        public static void main(String[] args) {
                //调用内部类B
                A.B d=new A().new B();
                                       d.func();  
        }

         static class A {
            int x = 1;
            class B {
                int x = 2;
         
                void func() {
                    int x = 3;
                    System.out.println( A.this.x + "," +  B.this.x + "," + x);
                }
            }
        }
}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马