innerClass_Ex2

Posted 2015. 4. 10. 15:52

package chap10;

public class InnerEx2 {
 class InstanceInner{}
 static class StaticInner{}
 InstanceInner iv = new InstanceInner();
 static StaticInner cv = new StaticInner();
 static void staticMethod(){
  StaticInner obj = new StaticInner();
  // 클래스 멤버에서 인스턴스 내부 클래스의 객체화는 반드시 외부클래스의 객체화 후 가능 하다.
//  InstanceInner obj2 = new InstanceInner(); // 에러!!
  InnerEx2 outer = new InnerEx2();
  InstanceInner obj2 = outer.new InstanceInner();
 }
 
 void instanceMethod(){
  StaticInner obj = new StaticInner();
  InstanceInner obj2 = new InstanceInner();
  // myMethod()의 지역내부클래스는 다른메서드에서 사용 불가
  // LocalInner lv = new LocalInner();
 }
 
 void myMethod(){
  class LocalInner{} // 메서드 내부 클래스다. 밖에서 사용 불가.
  LocalInner iv = new LocalInner();
 }
 
 public static void main(String[] args) {
  
 }
}

'Java !!!' 카테고리의 다른 글

innerClass_Ex4  (0) 2015.04.10
innerClass_Ex3  (0) 2015.04.10
enum  (0) 2015.04.10
Collection_EX  (0) 2015.04.10
Collection _ArrayList  (0) 2015.04.10