2014-09-16 2 views
0

정수 목록을 포함하는 클래스가 있습니다. 다른 정수 세트를 인쇄하고 싶었습니다. 하지만 내 코드는 참조 변수가 다르더라도 정확히 같은 숫자를 인쇄합니다.Java : 마지막 참조 변수가 인쇄됩니다.

import java.util.ArrayList; 

public class OrderedIntListUtility { 
    public static void printContains(OrderedIntList list) { 
     for(int i = 0; i < list.orderedIntegerList.length; i++) { 
      System.out.print(list.orderedIntegerList[i]); 
     } 
    } 
} 

import java.util.ArrayList; 
import java.util.Arrays; 

public class OrderedIntList { 
    static int[] orderedIntegerList; 

    public OrderedIntList(int ... elements) { 
     orderedIntegerList = elements; 
    } 

    public OrderedIntList() { 
     orderedIntegerList = null; 
    } 
} 

public class TestOrderedIntList { 
    public static void main(String[] args) { 
     OrderedIntListUtility operate = new OrderedIntListUtility(); 
     OrderedIntList listOfA = new OrderedIntList(2,3,1,55,77); 
     OrderedIntList listOfB = new OrderedIntList(2,3,5,77); 
     operate.printContains(listOfA); 
     System.out.println(); 
     operate.printContains(listOfB); 

    } 
} 

문제가 (listOfA) operate.printContains 인 listOfB orderedIntList을 인쇄 : 여기 내 코드입니다. 나는 혼란 스럽다. 서로 다른 변수 이름을 사용하고 있습니까? 도와주세요. 고맙습니다!

+5

레벨에서 사용할 수 있음을 의미합니다. '정적'은 무엇을합니까? –

+0

메서드 호출 용? – code4Life

+0

아니, 왜 여기 그것을 사용합니까 :'static int [] orderedIntegerList;'? –

답변

1

클래스 OrderedIntListstatic int[] orderedIntegerList;int[] orderedIntegerList;으로 변경하면 작동합니다. 정적은 클래스 레벨이 아니라 레벨 레벨

+0

오. 내가 참조. 대단히 감사합니다! – code4Life

+2

@ TheLostMind 방금 편집했지만 빨리되었습니다 :) – sol4me

+0

@ code4Life 질문에 대답하면 대답을 선택할 수 있습니다. – sol4me

관련 문제