编译执行B.java
理解一下下面两个类的结构
类在实例化的时候只关心构造方法需要的东西
其他方法在实例调用的时候才确定//B.javaclass A{
   public A(){}   public void init(int i)
   {
     B b=new B();
     b.init();
     System.out.println(i);
    }
}public class B{
   
   private static A[] myA;
   private static int i=1;
    public void init(){
     System.out.println("Call B   "+(i++));
    } 
     
    
    public static void main(String[] args)
   {
          myA= new A[3];
       for(int i = 0;i < 3; i++)
     {
          myA[i] = new A();
          myA[i].init(i);
      }
   }
   
}

解决方案 »

  1.   

    我编译一下类1
       编译器就告诉我类2的Symbol不可识别
    编译了类2
        编译器就告诉我类的Symbol不可识别
    郁闷啊!
      

  2.   

    类1和类2 分别是两个独立的文件保存。
    我编译一下类1  
         编译器就告诉我类2的Symbol不可识别  
    编译了类2  
           编译器就告诉我类的Symbol不可识别  
    郁闷啊!
      

  3.   

    两个类放在一个文件中,命名为B.java进行编译,执行。