2017-12-11 1 views
-3

인스턴스 변수가 정적 함수 또는 정적 블록 내에서 선언 된 경우 인스턴스 변수에 대한 메모리 공간이 다시 만들어 지나요?Java에서 정적 함수가있는 인스턴스 변수

주요 기능은 어떻습니까? java main 함수에서 정적입니다. main에서 인스턴스 변수를 선언 할 수 있습니까? 가능한 경우 컴파일 할 때 또는 객체 생성 중에 만 메모리 공간이 할당됩니까? 인스턴스 변수는 정적 함수 나 정적 블록 내에서 선언 된 경우

+3

코드 샘플을 제공하는 데주의해야합니까? – rents

+3

메소드 내에서 인스턴스 변수를 선언 할 수는 없으며 지역 변수 만 선언 할 수는 있습니다 (물론 로컬 클래스에 대해 언급하지 않는 한). –

답변

1

,

까 하나이다 여기 중지 - 어떤 인스턴스 컨텍스트 따라서 없기 때문에 정적 블록의 인스턴스 변수를 선언 할 수 없습니다 :

static{ 
    this.whatrever=x; 
} 

은 유효하지 않으며 컴파일도되지 않습니다.

같은 상황은 public static main입니다. 이것은 정적 컨텍스트이므로 this.x 표현식이 컴파일되지 않습니다.

인스턴스 컨텍스트에서 정적 변수/메소드를 언급 할 수는 있지만 그 반대의 경우는 없습니다.

관련 문제