我有这样的代码。将超类的对象转换为子类
超级类
public class Actual {
public int x = 123;
}
子类
public class Super extends Actual{
public int x = 999;
public int y = 12345;
}
public class Sub extends Super {
public int x = 144;
}
所以问题是我能转换超类对象到子类? 这是正确的这个问题我试过了吗?
public class Mid1Prob1 {
public static void main(String[] args) {
System.out.println("Testing...");
int x = 3;
Actual actual = new Super();
System.out.println(actual.x);
Super super1 = new Super();
System.out.println(super1.x);
Actual act = new Actual();
act = new Sub();
System.out.println(act.x);
}
}
但它赋予Class Cast异常。
发布异常跟踪 –
您提供的代码段不会抛出ClassCastException。 – Radiodef
你的代码中没有任何地方是你将一个超类转换为子类。你在哪里得到ClassCastException? – TheLostMind