2016-10-07 2 views
-5

У меня есть 3 объекта root1,root2,root3, где они присутствуют в root[] (объект массива), который представляет собой набор объектов.Array Object and Ordinary object Инициализация

Я инициализировал класс 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; 
    } 
} 
} 
+0

Этот код не компилируется, не говоря уже о том, чтобы вести себя так, как описано. Что такое 'значение'? Что такое 'temp'? Как он может печатать нулевое значение для поля, полученного с помощью нулевого указателя? – EJP

ответ

1

У меня есть 3 объектов root1, root2, root3

Нет, вы не делаете. У вас есть три переменные , и все они равны нулю.

, где они присутствуют в root[]

Ничего присутствует в root[], за исключением трех нулей при инициализации.

Я инициализируется Node класс, используя root[0]

Вы экземпляр в Node класс и хранить ссылку на root[0].

// It is printing null value. 

С помощью этого кода следует бросать NullPointerException.

root[0]=root1 

Нет, это не так. Вы перезаписали его в своем цикле, и в любом случае, когда вы инициализировали (бессмысленный) массив, root1 был пустым, так как вы его не инициализировали.

+0

жаль, что это был корень [i] = новый узел (значение, null); и не root [i] = новый temp (значение, null); – Ramgopal

+0

Не говорите мне: исправьте свой вопрос. Несколько других вещей не так. – EJP