728x90
반응형
질문 : Java에서 클래스를 정적으로 선언 할 수없는 이유는 무엇입니까?
Java에서 클래스를 정적으로 선언 할 수없는 이유는 무엇입니까?
답변
중첩 된 클래스 만 정적 일 수 있습니다. 이렇게하면 외부 클래스의 인스턴스없이 중첩 된 클래스를 사용할 수 있습니다.
class OuterClass { public static class StaticNestedClass { } public class InnerClass { } public InnerClass getAnInnerClass() { return new InnerClass(); } //This method doesn't work public static InnerClass getAnInnerClassStatically() { return new InnerClass(); } } class OtherClass { //Use of a static nested class: private OuterClass.StaticNestedClass staticNestedClass = new OuterClass.StaticNestedClass(); //Doesn't work private OuterClass.InnerClass innerClass = new OuterClass.InnerClass(); //Use of an inner class: private OuterClass outerclass= new OuterClass(); private OuterClass.InnerClass innerClass2 = outerclass.getAnInnerClass(); private OuterClass.InnerClass innerClass3 = outerclass.new InnerClass(); }
출처 :
같은 주제에 대해 :
출처 : https://stackoverflow.com/questions/3584113/why-are-you-not-able-to-declare-a-class-as-static-in-java
728x90
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
Java의 데몬 스레드 (0) | 2021.12.13 |
---|---|
자바 여러 줄 문자열을 만드는 방법 (0) | 2021.12.12 |
Java에서 Base64 데이터 디코딩 하는 방법 (0) | 2021.12.12 |
java.util.Date를 java.time.LocalDate로 변환하는 방법 (0) | 2021.12.09 |
JAVA 완벽한 JPA 엔티티 만들기 (0) | 2021.12.08 |