note

내부 클래스 본문

자바/제어자

내부 클래스

투한 2011. 12. 23. 15:35
package com.inner;//내부 클래스

class Outer{
	int a =100;
	//멤버 내부 클래스
	class Inner{
		int b = 200;
	}
}

public class InnerTest {
	public static void main(String[] args){
		Outer ot = new Outer();
		System.out.println("ot = "+ot);
		System.out.println(ot.a);
		
		//내부 클래스 객체 생성
		Outer.Inner oi = ot.new Inner();
		System.out.println("oi = "+oi);
		System.out.println(oi.b);
	}
}




class Outer{
	//멤버 변수
	int a = 100;
	//멤버 내부 클래스
	class Inner{
		int b = 200;
		public void make(){
			//멤버 내부 클래스는 내부 클래스를 포함하는 \
			//클래스(Outer)의 멤버변수 호출 가능
			System.out.println("a = "+a);
			System.out.println("B = "+b);
		}
	}
}

public class InnerTest {
	public static void main(String[] args){
		/*Outer ot = new Outer();
		Outer.Inner oi = ot.new Inner();
		oi.make();*/	
		
		Outer.Inner oi = new Outer().new Inner();
		oi.make();
	}
}



package com.inner3;

public class LocalInner {
	public void innerTest(){
		//로컬 내부 클래스
		class Inner{
			public void getDate(){
				System.out.println("Local 내부 클래스 호출!!");
			}
		}
		Inner i = new Inner();
		i.getDate();
	}//innerTest()끝
	public static void main(String[] args){
		LocalInner outer = new LocalInner();
		outer.innerTest();
	}
}



'자바 > 제어자' 카테고리의 다른 글

내부 클래스 지역변수 상수 호출  (0) 2011.12.23
내부 클래스  (0) 2011.12.23
클래스와 상수  (0) 2011.12.23
클래스와 상수  (0) 2011.12.23
상수 final  (0) 2011.12.23