테스트 클래스
public class OuterClass
{
String name = "조현";
int number = 81;
public void output(){
System.out.println("name = "+name+", number = "+number);
//내부 클래스에서 선언된 변수는 사용할 수 없다.
//System.out.pringln("tel = "+tel);
}
//내부 클래스 : 외부 클래스와 상속관계. 외부 클래스 변수를 사용할 수 있다.
//외부와 내부에 같은 변수가 존재할 경우 자신이 속한 클래스 변수를 사용한다.
public class InnerClass
{
String tel = "010-9142-1348";
int age = 35;
int number = 20;
public void innerOutput(){
//외부와 내부 클래스에 같은 변수가 존재할 경우 '외부클래스명.this.변수명' 으로 사용한다.
//for(int i=1; i<=Outer.this.number; i++){
for(int i=1; i<=number; i++){
System.out.println("i = "+i);
}
}
}
}
=====================================================================
메인 클래스
public class InnerMain
{
public static void main(String[] args)
{
//내부 클래스 사용하기
//내부 클래스를 사용하기 위해서는 외부 클래스 객체가 있어야 한다.
//외부 클래스 객체생성
OuterClass oc = new OuterClass();
oc.output(); //실행 확인
//내부 클래스 객체생성 (= 외부클래스명.내부클래스명 객체명 = 외부클래스객체명.new 내부클래스명)
OuterClass.InnerClass oi = oc.new InnerClass();
oi.innerOutput();
}
}
'응용 SoftWare > JAVA' 카테고리의 다른 글
[익명 클래스] 팝업창(좌표) 만들기 (0) | 2016.12.05 |
---|---|
[익명 클래스] 오버라이딩을 이용한 팝업창 만들기 (0) | 2016.12.05 |
[예제] String (0) | 2016.12.02 |
StringTokenizer 종류와 사용 (0) | 2016.12.02 |
StringBuffer 종류와 사용 (0) | 2016.12.02 |