我在做類型強制轉換一個短的研究,以下是我的代碼關於鑄造
interface Foo {}
class Alpha implements Foo {}
class Beta extends Alpha {}
public class Delta extends Beta
{
public static void main(String[] args)
{
Beta x = new Beta();
Alpha a = x;
// Foo f = (Alpha)x;// --> commented out
Beta b = (Beta)(Alpha)x;
Foo f = (Delta)x; // --> complie time error
}
}
正如它拋出一個運行時錯誤java.lang.ClassCas tException最後聲明指出,請指教,如果我用阿爾法投它,它完美地工作。