package kkk;
public class InstanceOf {
public static void wrapBox(Box box) {
//box 가 GoldPaperBox로 형변환이 가능하다면 실행
if (box instanceof GoldPaperBox) {
((GoldPaperBox) box).godWrap();
//box 가 PaperBox로 형변환이 가능하다면 실행
} else if (box instanceof PaperBox) {
((PaperBox) box).PaperWrap();
//나머지
} else {
box.simpleWrap();
}
}
public static void main(String[] args) {
Box box1 = new Box();
PaperBox box2 = new PaperBox();
GoldPaperBox box3 = new GoldPaperBox();
wrapBox(box1);
wrapBox(box2);
wrapBox(box3);
}
}
class Box {
public void simpleWrap() {
System.out.println("simple wrap");
}
}
class PaperBox extends Box {
public void PaperWrap() {
System.out.println("paper wrap");
}
}
class GoldPaperBox extends PaperBox {
public void godWrap() {
System.out.println("gold wrap");
}
}
'JAVA > 자바' 카테고리의 다른 글
자바 Swing 텍스트필드 포맷지정 (0) | 2015.07.05 |
---|---|
자바 Swing ComboBox 값변경 확인 (0) | 2015.07.05 |
자바 Swing JList 스크롤 (0) | 2015.07.03 |
자바 현재시간 출력 (0) | 2015.07.01 |
자바 클래스 배열 생성 (0) | 2015.06.30 |