호기심에 다음 코드개인 변수 내부 클래스 : 값 설명?
public class OuterClass{
int i;
public void printme(){
System.out.println("Outerclass");
i+=20;
System.out.println(i);
class InnerClass extends OuterClass {
public void printme(){
System.out.println("InnerClass");
i+=10;
System.out.println(i);
}
}
InnerClass second = new InnerClass();
second.printme();
System.out.println("Outerclass-2");
System.out.println(i);
return;
}
public static void main(String []args){
System.out.println("start");
OuterClass first = new OuterClass();
first.printme();
}
}
에 대한
출력은 이유에
시작 InnerClass 10 20 Outerclass Outerclass-2 20
그러나 INT 경우 내가 출력을 개인 선언 is
start 외부 클래스 20 InnerClass 30 Outerclass-2 30
누군가 설명 할 수 있습니까?
에 대한 문서의 일부에서 봐 here, 나는 당신에게 느린 키보드를 보낼 것입니다. 당신은 항상 이런 대답으로 나를 때리는 것 같습니다. –
@DavidWallace Stackoverflow의 서버에서 길 건너편에 살고 있습니다. –