因为JAVA是后期绑定 在执行的时候才去连接相应的代码

解决方案 »

  1.   

    还有这样的也可以
    class outer
    {
        void test()
        {
           inter inter_instance = new inter();
           inter_instance .display();   
        }
        class inter
        {
            void display()
            { system.out.printin(outer_x);}
        }
        int outer_x = 100;
    }
    类里面的属性和方法都不需要按先后排序
      

  2.   

    java根c不一样,不用考虑前后顺序,只要是可见的就行,其实编译后生成的是两个类文件,所以也就不分前后了。
      

  3.   

    java也不是任何地方都不分顺序的吧? 比如下面这样就不行啊:class A {
      void m() {
        System.out.println(i);
        int i = 1;
      }
    }其实这是因为对象的初始化顺序来的, 因为创建对象的时候, 是首先初始所有成员变量(也包括内部类)的, 而不管它们的定义位置如何.