私は型キャストに関する短い調査を行っていました。以下は私のコードです
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 がスローされます。アドバイスしてください。Alpha でキャストすると、完全に正常に動作します。