作者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://webptt.com/cn.aspx?n=bbs/java/M.1478919586.A.F39.html
1F:→ pttworld: A2 tp = new q19(); 11/12 11:12
2F:→ ssccg: A2的物件不是一个q19的物件 11/12 11:52
3F:→ myis000: m3要用q19的方法只能new新obj? 11/12 13:14
4F:→ ssccg: A2的物件就不是一个q19的物件,怎麽会有q19的m3 11/12 13:28
5F:→ myis000: A2 td = new q19();td.m3(); 11/12 14:20
6F:→ dannypsnl: 你不能把父类别的物件转型成子类别 11/13 20:12