인터페이스 형변환 질문입니다.
안녕나야
2023.04.01
+ 질 문 +
interface B {
void display(String s);
}
class D1 implements B{
String str = ;
public void display(String s){
str=s;
System.out.println(D1 : +s);
}
}
class D2 implements B{
String str=;
public void display(String s){
str = s;
System.out.println(D2 : +s);
}
}
class IR2{
public static void main(String[] args){
B memo;
memo = new D1();
memo.display(대한민국);memo = new D2();
memo.display(일본);
D2 d2 =(D2)memo; // D1 d2 =(D1)memo; 일때는 왜 성립이안되는걸까요 ?.... 도와주세요 ...
System.out.println(d2.str);
}
}
-
다힘
부모를 자식으로 둔갑시키는 짓은 안하는 게 좋겠죠.
바로 그꼴이군요...음... -
흙이랑
memo 에 마지막으로 무엇을 넣었는지를 보셔야죠.. 마지막에 D2 를 담았으니 D1 으로 안되겠죠.. memo = new D1(); 하신 다음에 하시면 되겠죠....