数组对象和普通对象初始化

时间:2016-10-07 00:18:31

标签: java arrays

我有3个对象root1,root2,root3,它们出现在root[](数组对象)中,它是一组对象。

我已使用Node初始化了root[0]课程。所以 我可以通过Node访问root[0].data类的值,但我希望root1.data也应该访问同一个类,因为root[0]=root1,但我无法访问值。

为了运用我的逻辑,我还需要做些什么吗? 我有以下程序:

class a
{
static Node root1,root2,root3;
public static void main(String args[])
{
Node root[]={root1,root2,root3};
for(int i=0;i<root.length;i++)
    root[i]=new Node(value,null);
    System.out.println(root[i].data);//It is printing Correctly
    System.out.println(root1.data);//It is printing null value

}
public static class Node
{
 int value;
 Node next;
 Node(int value,Node next)
    {
        this.value=value;
        this.next=next;
    }
}
}

1 个答案:

答案 0 :(得分:1)

  

我有3个对象root1,root2,root3

不,你没有。你有三个变量,,它们都是空的。

  

它们出现在root[]

root[]中没有任何内容,除了初始化时有三个空值。

  

我已使用Node

初始化了root[0]课程

您已实例化 Node类,并将引用存储到root[0]

// It is printing null value.

使用此代码时,应该抛出NullPointerException

root[0]=root1

不,它没有。你在循环中覆盖了它,在任何情况下,当你进行(无意义的)数组初始化时,root1为空,因为你没有初始化它。