题目内容

下列哪个叙述是错误的?

A. 子类对象的上转型对象不能操作子类新增的成员变量(失掉了这部分属性),不能调用子类新增的方法。(失掉了一些行为)。
B. 子类对象的上转型对象可以访问子类继承或隐藏的成员变量。
C. 子类对象的上转型对象操作子类继承的方法或子类重写的实例方法,其作用等价于子类对象去调用这些方法。
D. 子类对象的上转型对象是其父类创建的一个对象。

查看答案
更多问题

对于下列代码,叙述正确的是哪个?classAnimal{intget(){return100;}}classDogextendsAnimal{intget(){return88;}}publicclassE{publicstaticvoidmain(Stringargs[]){Animaldog=newDog();System.out.printf("%d",dog.get());}}

A. 代码有编译错误。
B. 运行输出100。
C. 运行输出88。
D. 无编译错误,但发生运行NullPointerException异常。

对于下列代码,叙述正确的是哪个?classAnimal{intm=100;intget(){returnm;}}classDogextendsAnimal{intm=2;}publicclassE{publicstaticvoidmain(Stringargs[]){Animaldog=newDog();System.out.printf("%d",dog.get());}}

A. 代码有编译错误。
B. 运行输出2。
C. 运行输出100。
D. 无编译错误,但发生运行NullPointerException异常。

给出下列[代码]注释标注的代码的输出结果。classAnimal{intm=100;publicintsetM(){returnm;}}classDogextendsAnimal{intm=6;publicintsetM(){returnm;}}publicclassE{publicstaticvoidmain(Stringargs[]){Animaldog=newDog();System.out.printf("%d:%d",dog.setM(),dog.m);//[代码]}}

下列ABCD注释标注的哪行代码有错误?classA{intf(intx,inty){returnx+y;}}classBextendsA{intf(doublex,inty){return(int)x*y;}}publicclassE{publicstaticvoidmain(Stringargs[]){Bb=newB();intm=b.f(3,5);//Am=b.f(3.14,5);//BAa=b;m=a.f(3,5);//Cm=a.f(3.14,5);//D}}

答案查题题库