2014-09-14 2 views
-1

변수 레코드를 가리키는 중 오류가 있습니다. 정적 컨텍스트에서 비 정적 변수 레코드를 참조 할 수 없습니다.정적 컨텍스트에서 비 정적 변수 레코드를 참조 할 수 없습니다.

public class RecordOption { 
    // global variable 
    String[][] record = new String[10][3]; 

    // addRecords method 
    public static void addRecords(String studentRecords) throws IOException { 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     System.out.print("Enter Student Number:"); 
     String studNumber = br.readLine(); 
     record[0][0] = studNumber; 
    } 
} 
+0

오른쪽의 "관련"섹션을보십시오. –

+0

'정적'과 '비 정적'이 무엇을 먼저 의미하는지 이해해야합니다. static은 클래스와 관련이 있음을 의미합니다. '비 정적'은 객체와 관련이 있음을 의미합니다. 이 경우'record'는'non-static'입니다. 이것은 객체에서만 접근 할 수 있음을 의미합니다. 접근하려는 방식은 정적입니다. 이것이 컴파일러가 만족스럽지 않은 이유입니다. – Multithreader

+0

방법/변경해야 할 사항 / –

답변

2

record 변수는 정적이어야합니다.

비 정적 변수는 비 정적 메서드에서만 액세스 할 수있는 반면 정적 변수는 비 정적 메서드와 정적 메서드 모두에서 액세스 할 수 있습니다.

비 정적 변수에 액세스하려면 먼저 변수가 연결된 인스턴스화 된 객체가 필요합니다. 그러나 정적 변수에 액세스하려면 클래스가 필요합니다.

관련 문제