我看到这样一段代码A.javaclass A()
{
    public a;
    public b;
    public void c()
    {}
}B.javaclass B()
{
    public A a;
    a.a;
    a.c();
}这只是个简写,我想问的是在B中没有new,为什么可以直接用A中的变量?是在别的地方new了吗??

解决方案 »

  1.   

    哥们儿运行没错吗?——NullPointerException
      

  2.   

    你这样写肯定有错误的,它没有指向具体的对象,会出现空指针错误。前短时间我也对这个问题挺迷惑的,当时遇到的是 “为什么声明的一个对象作为方法的参数时,不用new,却可以直接使用类中的属性?”类似于在B类中 定义一个方法  public void test(A a){ a.c()}。他在实例化时将自动指向一个对象。
      

  3.   

    哦,我知道什么问题了,在其他地方new了。