class DataOnly{
int i=0;
float f=0.0f;
boolean b=true;
}public class Test{
public static void main(String[] args)
{
DataOnly x1;
System.out.println("The DataOnly member int i is:");
System.out.println("The DataOnly member float f  is:"+x1.f);
System.out.println("The DataOnly member boolean is:"+x1.b);
}
}

解决方案 »

  1.   

    这么低级的问题也犯呀
    x1只是DataOnly的一个实例,但他并没有初始化呀,也就是说他现在是一个Null,既然是一个Null
    你用x1.f不出错才怪呢。
    正确的是:DataOnly xq = new DataOnly();就可以了呀
      

  2.   

    class DataOnly{
    int i=0;
    float f=0.0f;
    boolean b=true;
    }public class Test{
    public static void main(String[] args)
    {
    DataOnly x1=new DataOnly();
    System.out.println("The DataOnly member int i is:"+x1.i);
    System.out.println("The DataOnly member float f  is:"+x1.f);
    System.out.println("The DataOnly member boolean is:"+x1.b);
    }
    }
    你看看吧
      

  3.   

    DataOnly x1=new DataOnly();
    要new一个实例!
      

  4.   

    仅仅这样声明DataOnly x1;是给x1在内存中分配了一个类似指针的东西,以后只要是同一类的(DataOnly或其派生类)对象都可以挂在x1上。new DataOnly()是真正有了一个对象~可以这样理解:DataOnly x1只是生成了只能挂某一类衣服的衣架,而真正能穿的衣服是由new DataOnly()来制造的~ 没有衣服,怎么能给扣衣扣(x1.i,x1.f)呢?
      

  5.   

    楼上chinatelly(atelly) 正解
      

  6.   

    不NEW也敢用呀
    呵呵
    难道是刚学