innerClass_Ex3

Posted 2015. 4. 10. 15:52

package chap10;

public class InnerEx3 {
 private int outeriv = 0;
 static int outercv = 0;
 class InstanceInner{
  int iiv = outeriv;
  int iiv2 = outercv;
 }
 
 static class StaticInner{
//  int siv = outeriv; // 에러!!
  // outeriv의 객체를 만들어서 사용 해야 한다.
  int siv = new InnerEx3().outeriv;
  static int scv = outercv;
 }
 
 void myMethod(){
  // 내부클래스에서 사용시에는 상수가 되어야 한다.
  int lv = 0;
  final int LV = 0;
  class LocalInner{
   int liv = outeriv;
   int liv2 = outercv;
   // 지역 내부 클래스에서 메서드의 지역변수를 호출하지 못했다.
   int liv3 = lv; // jdk 8.0 이후 가능.
       // lv 변경없으므로 내부적으로 상수로 처리됨.
   int liv4 = LV; // 상수는 접근 가능
  }
 }
 
 public static void main(String[] args) {

 }
}

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

StringBuffer  (0) 2015.04.10
innerClass_Ex4  (0) 2015.04.10
innerClass_Ex2  (0) 2015.04.10
enum  (0) 2015.04.10
Collection_EX  (0) 2015.04.10