问题描述
我有3个对象 root1,root2,root3
它们出现在 root []
(数组对象)中这是一组对象。
I have 3 objects root1,root2,root3
where they are present in root[]
(Array Object) which is a collection of objects.
我使用 root初始化了
。所以 Node
类0]
我可以通过 root [0] .data
访问 Node
类的值但是我我希望 root1.data
也应该访问同一个类,因为 root [0] = root1
,但我无法访问访问该值。
I have initialized the Node
class using root[0]
. SoI am able to access the value of Node
class through root[0].data
but I am expecting root1.data
should also access the same class because root[0]=root1
, but I am not able to access the value.
为了理解我的逻辑,我还需要做些什么吗?
我有以下程序:
Is there anything I need to do in order to work my logic?I have the following program:
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;
}
}
}
推荐答案
不,你没有。你有三个变量,,它们都是空的。
No you don't. You have three variables, and they are all null.
root [] $中没有任何内容c $ c>初始化时除了三个空值。
Nothing is present in root[]
except three nulls when you initialize it.
您已经实例化 节点
类,并将引用存储到 root [0]
。
You have instantiated the Node
class, and stored the reference into root[0]
.
// It is printing null value.
使用此代码,它应该抛出 NullPointerException
。
With this code it should be throwing NullPointerException
.
root[0]=root1
不,不是。你在循环中覆盖它,无论如何当你进行(无意义的)数组初始化时, root1
为null,因为你没有初始化它。
No it doesn't. You overwrote it in your loop, and in any case when you did the (pointless) array initialization, root1
was null, as you didn't initialize it.
这篇关于数组对象和普通对象初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!