数组对象和普通对象初始化
我有3个对象root1,root2,root3
,它们出现在root[]
(Array Object)中,它是一个对象的集合。
我已经使用root[0]
初始化了Node
类。 所以我能够通过root[0].data
访问Node
类的值,但我希望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; } } }
我有3个对象root1,root2,root3
不,你没有。 你有三个变量,它们都是null。
它们存在于
root[]
root[]
没有任何内容,但初始化时除了三个空值。
我使用
root[0]
初始化了Node
类
您已实例化 Node
类,并将引用存储到root[0]
。
// It is printing null value.
使用此代码,它应该抛出NullPointerException
。
root[0]=root1
不,不。 你在循环中覆盖它,并且无论如何当你进行(无意义的)数组初始化时, root1
为null,因为你没有初始化它。