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

innerClass

Posted 2015. 4. 10. 15:51

package chap10;

// 내부클래스 예제
// 1. 클래스 내부에 존재하는 클래스( 클래스 안에 클래스 )
// 2. 참조자료형, 객체화 가능
// 3.멤버( 변수, 메서드, 생성자, Object를 상속 )도 소유가능
// 4. 상속도 가능
// 5. 외부클래스의 멤버임. 외부클래스의 private 멤버에 접근이 가능

public class innerEx1 {
 
 // 인스턴스 내부 클래스 : static 멤버를 가질 수 없다.
 //     단, 상수는 허용
 private int aaaaa = 10;
 public class InstanceInner{
  int iv = 100;
//  static int cv = 10;
  static private final int MAX = 100;
 }
 
 // static 내부 클래스
 static class StaticInner{
  int iv = 200;
  static int cv = 1;
 }
 
 // local inner 지역 내부 클래스 : 메서드 내에서 선언된 클래스
 void myMethod(){
  class LocalInner{
   int iv = 300;
//   static int c = 10; // static 멤버를 가질 수 없다.
   static final int MAX = 100;
  }
  LocalInner l1 = new LocalInner();
  System.out.println(l1.iv);
  System.out.println(LocalInner.MAX);
 }
 
 public static void main(String[] args) {
  innerEx1 in = new innerEx1();
  in.myMethod();
  System.out.println( InstanceInner.MAX );
  System.out.println( StaticInner.cv );
 }
}

 

enum

Posted 2015. 4. 10. 15:51

package chap10;

// 열거형 예제

public class EnumEx1 {
 
 public enum Lesson{
  JAVA, XML, EJB, JSP, SPRING
 }
 
 public static void main(String[] args) {
  Lesson le = Lesson.JAVA;
  System.out.println("Lesson :" + le);
  System.out.println("XML :" + Lesson.XML);
  System.out.println("JSP :" + Lesson.JSP);
  System.out.println("SPRING :" + Lesson.SPRING);
  //le 객체다
  if( le instanceof Object ){
   System.out.println(le.toString());
   System.out.println(le.getClass().getName());
   System.out.println("저장된 정수값:" + le.ordinal());
  }
  Lesson[] lessons = Lesson.values();
  System.out.println("lesson.length =" + lessons.length);
  for( Lesson n : lessons ){
   System.out.println(n + ":" + n.ordinal() );
  }
 }
}

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

innerClass_Ex3  (0) 2015.04.10
innerClass_Ex2  (0) 2015.04.10
Collection_EX  (0) 2015.04.10
Collection _ArrayList  (0) 2015.04.10
Collection _Iterator  (0) 2015.04.10
« PREV : 1 : ··· : 10 : 11 : 12 : 13 : 14 : 15 : 16 : ··· : 77 : NEXT »