정적 내부 클래스만 이야기한다면 클래스에 기생하는 최상위 클래스라고 생각하면 됩니다. 서로 아무런 관련이 없지만 액세스하려면 외부 클래스 이름이 필요합니다.
마찬가지로 특정 클래스의 정적 필드인 경우 해당 클래스의 기생 변수라고 생각하면 됩니다. 기생 클래스만 가져오면 됩니다. 클래스 이름에 액세스하려는 경우 이 변수는 가상 머신에 단 하나의 인스턴스를 갖습니다. All Class.static은 이 개체를 반환하며 모든 작업은 해당 개체에 대해서만 수행됩니다. 클래스를 삭제한 다음 팔로우해도 상관없습니다
우선, 정적 내부 클래스는 자신을 래핑하는 외부 클래스에 종속되지 않습니다(멤버, 메서드, 익명 내부 클래스와 달리). 본질적으로 두 개의 독립 최상위 클래스입니다. 정적입니다. 내부 클래스는 외부 클래스의 네임스페이스를 사용합니다. 즉, 정적 내부 클래스는 OutClass.InnerStaticClass와 같은 일반적인 최상위 클래스처럼 사용할 수 있습니다. 동시에 정적 내부 클래스는 외부 클래스의 멤버이므로 액세스 수정자를 사용하여 가시성을 수정할 수 있습니다. public protected private package visible
정적 내부 클래스만 이야기한다면 클래스에 기생하는 최상위 클래스라고 생각하면 됩니다. 서로 아무런 관련이 없지만 액세스하려면 외부 클래스 이름이 필요합니다.
마찬가지로 특정 클래스의 정적 필드인 경우 해당 클래스의 기생 변수라고 생각하면 됩니다. 기생 클래스만 가져오면 됩니다. 클래스 이름에 액세스하려는 경우 이 변수는 가상 머신에 단 하나의 인스턴스를 갖습니다. All Class.static은 이 개체를 반환하며 모든 작업은 해당 개체에 대해서만 수행됩니다. 클래스를 삭제한 다음 팔로우해도 상관없습니다
우선, 정적 내부 클래스는 자신을 래핑하는 외부 클래스에 종속되지 않습니다(멤버, 메서드, 익명 내부 클래스와 달리). 본질적으로 두 개의 독립 최상위 클래스입니다. 정적입니다. 내부 클래스는 외부 클래스의 네임스페이스를 사용합니다. 즉, 정적 내부 클래스는 OutClass.InnerStaticClass와 같은 일반적인 최상위 클래스처럼 사용할 수 있습니다. 동시에 정적 내부 클래스는 외부 클래스의 멤버이므로 액세스 수정자를 사용하여 가시성을 수정할 수 있습니다. public protected private package visible
"정적 내부 클래스"라는 개념을 들어본 적이 없습니다. 정적의 사용 시나리오는 정적 변수, 정적 메서드 및 정적 블록의 세 가지뿐입니다.
[정적 변수]
【정적 방식】
【정적 블록】
위 객체들은 클래스가 로드되면서 메소드 영역에 로드되는데, 복사본이 하나만 있습니다. Java 메모리 모델 분석을 말씀하시는 것 같습니다. 관심이 있으시면 이 글을 읽고 널리 알려주세요.
JVM 메모리 모델: http://blog.csdn.net/u0121526...