2017-02-02 2 views
1

정적 메서드는 정적 변수에 액세스 할 수 있으므로 따라서 변수는 정적 변수 여야합니다. 이 올바른지 ?Java에서 메인에 선언 된 변수는 본질적으로 정적입니까?

class abc 
{ 
public static void main (String xc[]) 
{ 
int a; // Is variable a static ? 

} 
+4

가능한 복제를 수행하는 동안

class Test { public static void main (String args[]) { static int a; a = 1; System.out.println(a); } } 

는 컴파일되지 않습니다 [정적 메소드의 지역 변수는 정적 있습니까?] (http://stackoverflow.com/questions/10645914/ 정적 메소드 내 static-static-local-variables) –

+1

static 메소드 내에 정의 된 변수는 정적 메소드가 아닙니다. 메소드 실행 후 gc는 메소드 내에서 사용 된 객체를 수집하여 버립니다. 다른 말로; 변수는 비 정적 메소드와 같은 방식으로 처리됩니다. – vegaasen

답변

0

아니요, 단순한 지역 변수입니다.

실제로 정적 메서드 내에서 정적 변수를 선언 할 수 없습니다.

class Test 
{ 
    static int a; 

    public static void main (String args[]) 
    { 
     a = 1; 
     System.out.println(a); 
    } 
} 

이의

관련 문제