2Java面向对象知识测试C卷答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

面向对象部分测试题考试宣言:同学们,考试考多少分不是我们的目的!排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了,那么不用怕,考完试后,导师讲解的时候你要注意听!那时候学会了,记住了,也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。1.下面描述函数重写错误的是A.要有子类继承或实现B.子类方法的权限必须大于等于父类的权限C.父类中被private权限修饰的方法可以被子类重写D.子类重写接口中的抽象方法,子类的方法权限必须是public的2.下列说法哪个正确?()A.一个程序可以包含多个源文件B.一个源文件中只能有一个公共类C.一个源文件中可以有多个类D.一个源文件只能供一个程序使用3.下面关于类的设计思路描述错误的是()A.根据需求写出类所包含的字段(成员变量)B.根据面向对象的思想要求,所有的字段都必须私有化C.封装之后的字段在本类内也必须使用get/set方法D.按需求可添加若干构造方法4.关于封装下面介绍错误的是()A.封装将变化隔离B.封装提高重用性C.封装提高安全性D.只有被private修饰才叫做封装5.试图编译运行下面的代码会发生什么情况publicclassMyClass{staticinti;publicstaticvoidmain(String[]args){System.out.println(i);}}A.错误,变量i没有被初始化B.输出nullC.输出1D.输出06.下面对static的描述错误的是A.静态修饰的成员变量和成员方法随着类的加载而加载B.静态修饰的成员方法可以访问非静态成员变量C.静态修饰的成员可以被整个类对象所共享D.静态修饰的成员变量和成员方法随着类的消失而消失7.在Java中,下面对于构造函数的描述正确的是()A.类必须显式定义构造函数B.构造函数的返回类型是voidC.构造函数和类有相同的名称,并且不能带任何参数D.一个类可以定义多个构造函数8.给定java代码,如下:abstractclassShape{abstractvoiddraw();}要创建Shape类的子类Circle,以下代码正确的是()。A.classCircleextendsShape{intdraw(){}}B.abstractclassCircleextendsShape{}C.classCircleextendsShape{voiddraw();}D.classCircleextendsShape{voiddraw(){}}9.下面Java代码的运行结果是()classPenguin{//下面蓝色的部分被称为属性,字段,成员变量privateStringname=null;//名字privateinthealth=0;//健康值privateStringsex=null;//性别publicvoidPenguin(){//构造方法没有voidhealth=10;sex=雄;System.out.println(执行构造方法。);}publicvoidprint(){System.out.println(企鹅的名字是+name+,健康值是+health+,性别是+sex+。);}publicstaticvoidmain(String[]args){Penguinpgn=newPenguin();pgn.print();}}A.企鹅的名字是null,健康值是10,性别是雄。B.执行构造方法。企鹅的名字是null,健康值是0,性别是null。C.企鹅的名字是null,健康值是0,性别是null。D.执行构造方法。企鹅的名字是null,健康值是10,性别是雄。10.下面说法正确的是()。A.final可修饰类、属性(变量)、方法B.abstract可修饰类、方法C.抽象方法只有方法声明,没有方法体D.关键字final和abstract不能同时使用11.下面说法正确的是()A.匿名内部类编译后不会生成.class文件B.接口编译后不会生成.class文件C.抽象类中没有构造方法D.局部内部类只能访问被final修饰的局部变量12.类Student中构造方法声明正确的是哪一项?()A:classStudent{publicStudent()}B:classStudent{publicStudent(){}}C:classStudent{publicvoidStudent(){}}D:classStudent{newStudent(){}}13.下面对static的描述正确的是A.静态修饰的成员变量和成员方法随着类的加载而加载B.静态修饰的成员方法可以访问非静态成员变量C.静态修饰的成员可以被整个类对象所共享D.静态修饰的成员变量和成员方法随着类的消失而消失14.下面对this的作用描述错误的是A.当成员变量和局部变量重名的时候可以用this区分B.this()语句必须放在构造函数的第一行,根据this后面括号中的参数调用本类其他的构造函数.C.this首先会调用本类的一般函数D.this首先会调用父类的一般函数15.在Java中,以下程序编译运行后的输出结果为()。publicclassTest{intx,y;Test(intx,inty){this.x=x;this.y=y;}publicstaticvoidmain(String[]args){Testpt1,pt2;pt1=newTest(3,3);pt2=newTest(4,4);System.out.print(pt1.x+pt2.x);}}A.6B.34C.8D.716.关于abstract不能和哪些关键字共用正确的是()A.abstract不可以和private共用B.abstract不可以和static共用C.abstract不可以和final共用D.abstract不可以和public共用17.给定一个Java程序Test.java的代码如下所示,编译时,会出现以下()情况。classParent{publicintcount(){//第1行return0;}}publicclassTestextendsParent{publicfloatcount(){//第2行//子类重写父类方法,要求返回值必须一致.按继承算也会报错,因为构不成重载return9;//第3行}}A.编译通过B.在第1行引发编译错误C.在第2行引发编译错误D.在第3行引发编译错误18.给定Java程序Child.java的代码如下所示,则编译运行该类的结果是()。classParent{Parent(){System.out.println(parent);}}publicclassChildextendsParent{Child(Strings){System.out.println(s);}publicstaticvoidmain(String[]args){Childchild=newChild(child);//先调用父类的无参构造函}}A.childB.childparentC.parentchildD.编译错误19.下列选项中关于Java中super关键字的说法错误的是()。A.当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量B.super语句可以放在构造函数的任意一行C.子类可以通过super关键字调用父类的方法D.子类可以通过super关键字调用父类的属性20.给定如下Java代码,以下()方法可以加入Child类中。publicclassParent{intchange(){//此处省略N行代码}}ClassChildextendsParent{//(此处可以放入下面哪个选项)}A.publicintchange(){}B.intshow(inti){}C.privateintchange(){}D.abstractintchange(){}21.分析如下所示的Java代码,则选项中的说法正确的是()。classParent{publicStringname;publicParent(StringpName){this.name=pName;}}publicclassTestextendsParent{//1publicTest(StringName){//2name=hello;//3super(kitty);//4//super()语句必须放在第1行}}A.第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同B.第3行错误,应使用super关键字调用父类的name属性,改为super.name=hello;C.第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行D.程序编译通过,无错误22.下面关于Java接口的说法正确的是()。A.Java接口中定义的是扩展功能B.Java接口中可以被多个子类实现,一个类也可以同时实现多个接口C.Java接口中可以声明私有成员D.Java接口不能被实例化23.给出下面的不完整的类代码classPerson{Stringname,department;intage;publicPerson(Stringn){name=n;}publicPerson(Stringn,inta){name=n;age=a;}publicPerson(Stringn,Stringd,inta){//完成Person(Stringn,inta)的逻辑department=d;}}下面的哪些表达式可以加到构造方法中的注释处?()A.Person(n,a);B.this(Person(n,a));C.this(n,a);D.this(name,age);24.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对25.给定Java代码如下所示,则编译运行后,输出结果是()。classParent{Intmoney=5000;publicvoidcount(){System.out.println(10%3);}}publicclassChildextendsParent{Intmoney=10000;publicvoidcount(){System.out.println(10/3);}publicstaticvoidmain(Stringargs[]){Parentp=newChild();p.count();}}A.1B.1.0C.3D.3.333333333333333526.下面覆盖与重载的关系,说法正确的是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名C.final修饰的方法可以被覆盖,但不能被重载//反了D.覆盖与重载是同一回事27.查看下面代码:classA{publicinti=10;}classBextendsA{publicinti=20;}publicclassTest{publicstaticvoidmain(Stringargs[]){Bb=newB();Aa=b;//多态System.out.println(b.i);System.out.println(a.i);}}输出为多少()A.1010B.1020C.2010D.202028.在Java语言中,下列关于类的继承的描述,正确的是()。A.一个类可以继承多个父类B.一个类可以具有多个子类C.子类可以使用父类的所有方法D.子类一定比父类有更多的成员方法29.给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是()。classParent1{Par

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功