2015-05-12 3 views
0
public class Locations 
{ 
    public static int LocationInArr; 
    public static int LocInHeap; 
    public static Locations getNext=null; 

    public Locations(int a,int b) 
    { 
     this.LocationInArr=a; 
     this.LocInHeap=b; 
    } 

    public static int getLocationInArr() 
    { 
     return LocationInArr; 
    } 

    public static int getLocInHeap() 
    { 
     return LocInHeap; 
    } 

    public static Locations getNext() 
    { 
     return getNext; 
    } 
    } 

В другом файле:Узел дублируя себя в списке

for(i=0;i<size;i+=2) 
{ 
    a=(Heap.length/k)*(i/2); 
    Locations L = new Locations(a,0); 
    add(L); 
} 

выше цикл в другом классе, которые работают как список для класса Location. По какой-то причине, когда я пытаюсь распечатать Список, я создаю все Узлы в Списке, содержит ту же информацию.

Я думаю, что у меня есть фундаментальная проблема в одном или нескольких местах в коде выше. Есть идеи?

редактировать:

статический напор частный Узел = NULL;

static public void add(Locations a) 
{ 
    Node <Locations> pos = new Node <Locations> (a); 
    if(head == null) 
    { 
     head = pos; 
     pos.setNext(null); 
    } 
    else 
    { 
     pos.setNext(head); 
     head = pos; 
    } 
+0

В чем вопрос? – Kyborek

+0

Предполагается создать список локаций, но по какой-либо причине все местоположения в списке одинаковы – user3657538

ответ

4

У вас есть все переменные и методы, обозначенные как static. Избавься от этого. static означает, что все экземпляры делят свои переменные вместо получения своих собственных копий.

+0

удалены все статические Я добавил ссылки на мой объект в главном, чтобы он работал. у оригинального вопроса, что делает статичный? Когда я должен использовать его или нет? – user3657538

+0

Я понятия не имею, почему я изменил все на статичные, и теперь это работает !!! спасибо, но я умираю, чтобы узнать почему?!? – user3657538

+0

@ user3657538 Если ответ решён, ваша проблема помечена как ответ, а затем вы можете задать новый вопрос о статических переменных. Но я уверен, что есть много вопросов с ответами относительно «статического» ключевого слова. попытайтесь найти статические переменные или области переменных. – Kyborek

Смежные вопросы