我:鑄造父母給其子
class A
{
public String getID() { return "id of A";}
}
class B extends A
{
public String getID() { return "id of B"; }
}
和
class C {
public A returnA() {
return new A();
}
}
現在我不知要做:
C c = new C();
B b = (B)c.returnA();
String id = b.getId();
但我沒有獲得實施C.returnA()
,我不能將其返回類型改爲B.
C沒有擴展A因此你將無法將A投射到C – PaulHickman
你並沒有試圖將一個孩子轉換爲其父 - 你試圖將一個父母('A')投射到孩子('B')。這顯然不起作用。 –
c.returnA()返回A,不能強制轉換爲B.將拋出ClassCastException – Elbek