Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 생활코딩
- 그럼 int배열의 deefault값은?????
- 행열. 2중반복문..
- (참고로 boolean 배열의 default 값은 false 이다.
- boolean배열
- while문이 틀린이유?? math.random()을 사용해서푸는법?
- bindingresult 쓰니까 에러났다. 어떻게해야하냐;;
- ㅓㅂ
- 마지막에 배열의 foreach구문이 틀린것같은데 ...... 저게왜틀린건지나는잘모르겠슴다.
- form.getImageFies 오타났음
- 출처:구멍가게코딩단-코배스(개정판)
Archives
- Today
- Total
푸린세스
조상-자식 참조변수의 형변환 +instanceof 본문
package ex8;
class Fruit{
void meethod() {
System.out.println("과일은 달콤상콤해");
}
}
class Banana extends Fruit{
void method1() {
System.out.println("바나나는 길어.");
}
}
class Orange extends Fruit{
void method2() {
System.out.println("오렌지는 둥그레");
}
}
public class InstanceOfTestMyself {
public static void main(String[] args) {
Fruit ff = new Fruit();
Banana bb = new Banana();
Fruit ff2 = bb; //자손->부모로 형변환가능 + 생략가능
//Banana bb2 = (Banana)ff; // 부모->자손으로 형변환가능+생략불가능
//실행시 에러나타남;;;;
Fruit f = new Fruit();
Banana b = new Banana();
//조상에서 자식으로의 형변환은 없는기능이 추가되었기때문에 실행시 에러.
if(f instanceof Banana) {
Banana b1 = (Banana)f;
b1.method1();
b1.meethod();
}else {
System.out.println("과일에서 바나나로 형변환가능,실행불가능,부모에서 자식으로 가능but실행에러+형변환생략불가능");
}
//Banana b1 = (Banana)f; //부모에서 자식으로 형변환가능+생략불가능.
// b1.method1(); //컴파일자체는 가능한데;; 실행에러 ClassCastException
// b1.meethod();
if(b instanceof Fruit) {
Fruit f1 = (Fruit)b;
f1.meethod();
}else {
System.out.println("바나나에서 과일로 형변환가능,실행가능,자식에서 부모로 가능+형변환생략가능");
}
Fruit f1 = (Fruit)b;
f1.meethod();
}
}
실행결과
과일에서 바나나로 형변환가능,실행불가능,부모에서 자식으로 가능but실행에러+형변환생략불가능
과일은 달콤상콤해
과일은 달콤상콤해