public class A 

    B b1; 
    B b2=new B(); 
    public static void main(String args[]) 
    { 
      A a1=new A(); 
      System.out.println(a1.b1.x);  //这一行出错了
      System.out.println(a1.b2.x);
    } 
} class B 

    int x=10; 
} 请问对象作为成员必须要new一个空间吗?为什么会出现这样的错误。

解决方案 »

  1.   

    b1对象为空...
    b1=new B();
      

  2.   

    b1在初始化时 没有被赋值 所以被默认初始化=null
      

  3.   

    必须要new 一个空间的 
    只不过是 创建一个对象的位置 很灵活的
    可以在需要时new 
    可以在构造函数中new 
    当然也可以 把引用作为方法的参数传递
      

  4.   

    要实现吧b1 必须要new一个方法出来…