1 답변
-
정적 선언 돼요. 근데 중첩클래스에서만 가능해요. 내부클래스에서 바깥 클래스의 인스턴스없이 사용하고 싶을때 정적으로 선언해요 아래 예제처럼
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(); }
4대 중첩 클래스 보고 공부하시면 도움 될 거에요.
댓글 입력