首页 青云排行榜 知识中心 控制台

已知如下代码:

public class ClassA{}
public class ClassB extends ClassA{}
public class ClassC{
    ClassA obj;
    public void setClassA(ClassA obj){
    }
}

以下叙述错误的是(     )

可以在setClassA()方法中传递一个ClassB类型的对象

如果在类ClassA中定义了方法method1(),在类ClassB中覆盖了该方法,当setClassA()方法参数传递的是ClassB类型的对象时,在ClassC中调用obj的method1()方法时将执行ClassB的method1()的方法。

可以在ClassC中定义一个新的方法setClassA(ClassB obj),他与原有方法setClassA(ClassA obj)构成一组重载方法

如果在ClassB中定义了ClassA没有的新方法method2(),当setClassA()方法参数传递的是ClassB类型的对象时,在ClassC中可以调用obj对象的method2()方法。

【如果在ClassB中定义了ClassA没有的新方法method2(),当setClassA()方法参数传递的是ClassB类型的对象时,在ClassC中可以调用obj对象的method2()方法。】
-> 错误;obj的实际类型是ClassB,但ClassA没有method2方法,除非强制类型转换为ClassB,否则obj不能调用method2方法
关于我们
公司简介
联系我们
联系我们
售前咨询: leizhongnan@eval100.com
售后服务: 0755-26415932
商务合作: support@eval100.com
友情链接
金蝶软件
快递100
关注我们
Copyright © 2023-2023 深圳慧题科技有限公司 粤ICP备2023109746号-1 粤公网安备44030002001082