当编译和运行下列程序段时,会发生什么

class Base{}
class Sub extends Base{}
class Sub2 extends Base{}
public class CEx{
    public static void main(String[] args) {
        Base b = new Base();
        Sub s = (Sub)b;
    }    
}

A. 编译通过,正常运行
B. 编译错误
C. 编译通过,运行异常
D. 以上都不正确

参考解答

C; b的实际类型为Base,强制转换为Sub类型是会抛出java.lang.ClassCastException异常


results matching ""

    No results matching ""