public class D { /**
 * @param args
 */
public static void main(String[] args) {
// TODO 自动生成方法存根
A[] b = new A[9];
b[6].a=10;
System.out.println(b[6].a);
}}
class A{
int a=1;
}
请问哪出错了?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【jacquelion】截止到2008-07-26 05:54:40的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:0                        
    结贴的百分比:0.00  %               结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    对象初始化的问题,这个程序出现了空指针异常。你的程序中声明了一个A类的数组b,但是并没有对数组中的元素进行初始化,java程序中对于引用类型的数据默认初始化的值是null,所以,当你试图用b[6].a=10; 语句对数组的第7个元素所代表的对象赋值的时候,你的b[6]是一个null值,因此就出现了java.lang.NullPointerException,一个好的习惯是,声明一个对象后就立刻给对象赋初值。
      

  3.   

    没初始化,先b[6]=new a();然后b[6].a=10;这样应该就不错了吧。
    public class D { 
    public static void main(String[] args) { 
    A[] b = new A[9]; 
    b[6]=new A();
    b[6].a=10; 
    System.out.println(b[6].a); 
    } } 
    class A{ 
    int a=1;