class Outter//외부 클래스
{
 int a=100;
 static int b=200;

 class Inner ///내부클래스
 {
  int c=300;
  public void disp()
  {
   int c=300;
   //static ind d=400; 일반 내부클래스에선 static변수를 선언 할 수 없음
   // 외부 클래스에서 가져다 쓰는 것이 일반적이다.
   System.out.println("a= "+a); //외부 클래스의 변수를 가져다 쓸 수 있음
   System.out.println("a= "+b);
   System.out.println("a= "+c);
  }
 }
 public void write()
 {
  Inner in=new Inner();
  in.disp();
 }
}


class InnerTest1
{
 public static void main(String[] args)
 {
  Outter out=new Outter();
  out.write();
  
  Outter.Inner in=new Outter().new Inner(); //다른 클래스의 내부클래스를 호출하는
  // 혹은 Outter.Inner in=Out.new Inner(); 라고 써도 됨
  in.disp();
 }
}

Posted by 커널제로

본 블로그는 페이스북 댓글을 지원합니다.

,