0
중첩 클래스와 함께 작동하는 간단한 프로그램을 작성하려고합니다. 내가 클래스 필드 둘러싸는 중첩 된 클래스는 변경할 수 없습니다,주의 (또는 내가 실수 한) 한 : MyClass
의 새로운 인스턴스의 생성 한 후중첩 클래스 do not 변경 동봉 클래스 필드
public class MyClass {
private boolean bool = false;
private NestedClass nestedClass = new NestedClass();
private class NestedClass {
private void print(){
System.out.println(bool);
}
NestedClass(){
bool = !bool;
}
}
MyClass(){
nestedClass = new NestedClass();
}
public void getInfo(){
nestedClass.print();
}
}
을 bool
의 값은 변경되지 않습니다
public static void main(String[] args) {
MyClass myClass = new MyClass();
myClass.getInfo();
}
출력은 false
입니다. 그러나 나는 true
을 기대했다. 내가 뭘 잘못 했니?
'NestedClass' 생성자를 두 번 호출하므로'bool'' false -> true -> false' 값을 두 번 변경합니다. 이것을보기 위해'NestedClass' 생성자에 sysout을 추가 할 수 있습니다. –