作者myis000 (silence)
看板java
標題[問題] casting問題
時間Sat Nov 12 10:59:43 2016
abstract class A1 {
public abstract void m1();
public void m2() {
System.out.println("Green");
} }
class A2 extends A1 {
public void m3(){
System.out.println("Green");
}
public void m1() {
System.out.println("Cyan");
}
public void m2() {
System.out.println("Blue");
} }
public class q19 extends A2 {
public void m1() {
System.out.println("Yellow");
}
public void m2() {
System.out.println("Pink");
}
public void m3() {
System.out.println("Red");
}
public static void main(String[] args) {
A2 tp = new A2();
tp.m1();
tp.m2();
((q19)tp).m3();//ClassCastException: A2 cannot be cast to q19
} }
java新手求解 這種runtime error是哪裡有問題 研究803亂改出來的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.163.103
※ 文章網址: https://www.ptt.cc/bbs/java/M.1478919586.A.F39.html
→ pttworld: A2 tp = new q19(); 11/12 11:12
→ ssccg: A2的物件不是一個q19的物件 11/12 11:52
→ myis000: m3要用q19的方法只能new新obj? 11/12 13:14
→ ssccg: A2的物件就不是一個q19的物件,怎麼會有q19的m3 11/12 13:28
→ myis000: A2 td = new q19();td.m3(); 11/12 14:20
→ dannypsnl: 你不能把父類別的物件轉型成子類別 11/13 20:12