다음 코드는 성공적으로 컴파일됩니다. 나의 이해에 따라 변수는 바로 여기정적 초기화 프로그램 이후에 정적 변수 선언
class A {
static {
y=20;
z=10;
}
static int z;
static int y=30;
{
w=10;
}
int w;
public static void main(String args[]){
System.out.println(y);
}
}
일어나고있는 주석을 읽은 후 질문을 수정 무엇 후 사용하기 전에 선언해야합니다. 여기서 출력은 30입니다. 변수 선언이 먼저 발생하면 모든 초기화 문이 모양 순서대로 실행됩니다.
* "내 이해에 따라 변수를 사용하기 전에 변수를 선언해야합니다"* 왜 블록 및 변수의 배치가 중요하다고 생각합니까? – Tom
* 로컬 * 변수는 처음 사용하기 전에 선언해야합니다. 필드가 아니라 너무 ... –
두 링크는 속는 사람으로 작동하지 않지만 필드의 위치가 다를 수 있다고 (암시 적으로) 말합니다 : [인스턴스 변수 선언의 위치] (// stackoverflow.com/q/218573) // [Java best practice - 클래스 변수보다 먼저 생성자를 선언하고 있습니까?] (// stackoverflow.com/q/10264447) – Tom