class Grade {
public static int f = 2;
public static void main(String[] args) {
for (int f = 0; f < 2; f++) {
System.out.println(f);
}
}
}
"int f"가 정적 변수 f를 어떻게 오버라이드합니까? static int f가 전체 클래스에서 공유되고 컴파일러가이 변수가 재정의된다는 오류 메시지를 표시하지 않는 이유는 무엇입니까? 정적 f의 사본이되지 않는 이유는 무엇입니까? 나는 자바에서 스코프 블록이 부모 블록의 변수를 상속 받았다고 생각했다.Java의 변수 범위
감사합니다. 거기에 읽을만한 것이 있습니까? –
그 위키 피 디아 페이지는 꽤 분명해야합니다. 따라서 그림자가 어떻게 작용하는지 (그리고 어디에서) 알 수있는 것 외에는 다른 점이 많지 않습니다. – Mysticial
@ArtemMoskalev Java 언어 관련 공식 소스는 Java Language Specification (일명 JLS)입니다. 귀하의 질문은 §6.3.1을 참조하십시오. http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.3.1 –