面向对象知识测试_第1页
面向对象知识测试_第2页
面向对象知识测试_第3页
面向对象知识测试_第4页
面向对象知识测试_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。1. 下面描述函数重写错误的是 CA.要有子类继承或实现B.子类方法的权限必须大于等于父类的权限C.父类中被private权限修饰的方法可以被子

2、类重写D.子类重写接口中的抽象方法,子类的方法权限必须是public的 2. 下列说法哪个正确?(AC) BA. 一个程序可以包含多个源文件B. 一个源文件中只能有一个公共类C. 一个源文件中可以有多个类D. 一个源文件只能供一个程序使用3. 下面关于类的设计思路描述错误的是 ( C )A.根据需求写出类所包含的字段(成员变量)B.根据面向对象的思想要求,所有的字段都必须私有化C.封装之后的字段在本类内也必须使用get/set方法 (这本类可以直接去使用)D.按需求可添加若干构造方法4. 关于封装下面介绍错误的是( D)。A.封装将变化隔离B.封装提高重用性。C.封装提高安全性D.只有被pri

3、vate修饰才叫做封装5. 试图编译运行下面的代码会发生什么情况 D public class MyClass static int i; public static void main(String args) System.out.println(i); A.错误,变量i没有被初始化B.输出nullC.输出1D.输出06. 下面对static的描述错误的是 BA.静态修饰的成员变量和成员方法随着类的加载而加载B.静态修饰的成员方法可以访问非静态成员变量 C.静态修饰的成员可以被整个类对象所共享D.静态修饰的成员变量和成员方法随着类的消失而消失7. 在Java中,下面对于构造函数的描述正确的

4、是(D )。A.类必须显式定义构造函数B.构造函数的返回类型是voidC.构造函数和类有相同的名称,并且不能带任何参数D.一个类可以定义多个构造函数8. 给定java代码,如下:BD abstractclassShapeabstractvoiddraw();要创建Shape类的子类Circle,以下代码正确的是()。?A.classCircleextendsShapeintdraw()B.abstractclassCircleextendsShapeC.classCircleextendsShapevoiddraw();D.classCircleextendsShapevoiddraw() 9

5、. 下面Java代码的运行结果是( )。class Penguin /下面还有注释的部分被称为 属性 , 字段 , 成员变量private String name=null; / 名字private int health=0; / 健康值private String sex=null; / 性别public void Penguin() health = 10;sex = 雄;System.out.println(执行构造方法。);public void print() System.out.println(企鹅的名字是 + name + ,健康值是 + health + ,性别是 + sex

6、+ 。);public static void main(String args) Penguin pgn = new Penguin();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

7、不能同时使用11. 下面说法正确的是( )。A.匿名内部类编译后不会生成.class文件B.接口编译后不会生成.class文件C.抽象类中没有构造方法 D.局部内部类只能访问被final修饰的局部变量。12. 类Student中构造方法声明正确的是哪一项? ()A:class Student public Student()B:class Student public Student()C:class Student public void Student()D:class Student new Student()13. 下面对static的描述正确的是A.静态修饰的成员变量和成员方法随着类

8、的加载而加载B.静态修饰的成员方法可以访问非静态成员变量C.静态修饰的成员可以被整个类对象所共享D.静态修饰的成员变量和成员方法随着类的消失而消失14. 下面对this的作用描述错误的是A.当成员变量和局部变量重名的时候可以用this区分B.this()语句必须放在构造函数的第一行,根据this后面括号中的参数调用本类其他的构造函数.C.this首先会调用本类的一般函数D.this首先会调用父类的一般函数15. 在Java中,以下程序编译运行后的输出结果为( )。public class Test int x, y; Test(int x, int y) this.x = x; this.y

9、= y; public static void main(String args) Test pt1, pt2; pt1 = new Test(3, 3); pt2 = new Test(4, 4); System.out.print(pt1.x + pt2.x); A.6B.3 4C.8D.716. 关于abstract不能和哪些关键字共用正确的是()A.abstract不可以和private共用 B.abstract不可以和static共用C.abstract不可以和final共用D.abstract不可以和public共用17. 给定一个Java程序Test.java的代码如下所示,编译

10、时,会出现以下( )情况。class Parent public int count() / 第1行return 0;public class Test extends Parent public float count() / 第2行(无法重写,报错)return 9; / 第3行 A.编译通过B.在第1行引发编译错误C.在第2行引发编译错误D.在第3行引发编译错误18. 给定Java程序Child.java的代码如下所示,则编译运行该类的结果是( )。class Parent Parent() System.out.println(parent); public class Child e

11、xtends Parent Child(String s) (super();) System.out.println(s); public static void main(String args) Child child = new Child(child); A.childB.child parentC.parent childD.编译错误19. 下列选项中关于Java中super关键字的说法错误的是( )。A.当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量 B.super语句可以放在构造函数的任意一行C.子类可以通过super关键字

12、调用父类的方法D.子类可以通过super关键字调用父类的属性20. 给定如下Java代码 , 以下( )方法可以加入Child类中。 A.Bpublic class Parent int change()/此处省略N行代码 Class Child extends Parent /(此处可以放入下面哪个选项) A.public int change() B.int show(int i) C.private int change() D.abstract int change() 21. 分析如下所示的Java代码,则选项中的说法正确的是( )。class Parentpublic String

13、 name;public Parent(String pName) = pName;public class Test extends Parent /1public Test(String Name) /2name=hello; /3super(kitty); /4A.第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同B.第3行错误,应使用super关键字调用父类的name属性,改为=hello;C.第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行D.程序编译通过,无错误22. 下面关于Java接口的说法正确的是(

14、 )。?A.Java接口中定义的是扩展功能B.Java接口中可以被多个子类实现,一个类也可以同时实现多个接口C.Java接口中可以声明私有成员D.Java接口不能被实例化23. 给出下面的不完整的类代码 class Person String name, department; int age; public Person(String n) name = n; public Person(String n, int a) name = n; age = a; public Person(String n, String d, int a) / 完成Person(String n, int a

15、)的逻辑 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代码如下所示,则编译运行后,输出结果是( )。class Parent Int money= 5000; public void count() System.out.pri

16、ntln(10%3); public class Child extends Parent Int money= 10000; public void count() System.out.println(10/3); public static void main(String args) Parent p = new Child();p.count(); A.1B.1.0C.3D.3.3333526. 下面覆盖与重载的关系,说法正确的是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B覆盖方法可以不同名,而重载方法必须同名Cfinal修饰的方法可以被覆盖,但不能被重载D覆盖

17、与重载是同一回事27. 查看下面代码:classApublicinti=10; classBextendsApublicinti=20; publicclassTestpublicstaticvoidmain(Stringargs) Bb=newB(); Aa=b; System.out.println(b.i); System.out.println(a.i); 输出为多少 ( ) ? A.10 10 B.10 20 C.20 10 D.20 2028. 在Java语言中,下列关于类的继承的描述,正确的是(B )。A.一个类可以继承多个父类B.一个类可以具有多个子类C.子类可以使用父类的所有

18、方法D.子类一定比父类有更多的成员方法29. 给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是( )。class Parent1 Parent1(String s) System.out.println(s); class Parent2 extends Parent1 Parent2() /super(); System.out.println(parent2); public class Child extends Parent2 public static void main(String args) Child child = new C

19、hild(); A.编译错误:没有找到构造器Child()B.编译错误:没有找到构造器Parent1()C.正确运行,没有输出值D.正确运行,输出结果为:parent230. 下列说法哪个正确?A不需要定义类,就能创建对象B对象中必须有属性和方法C属性可以是简单变量,也可以是一个对象D、属性必须是简单变量31. 给定java代码,如下:publicclassTeststaticinti=0;publicintaMethod()i+;returni;publicstaticvoidmain(Stringargs)Testtest=newTest();test.aMethod(); System.

20、out.println(test.aMethod();编译运行后,输出结果是()。CA.0B.1C.2D.332. 在Java中,下面关于抽象类的描述正确的是()。A.抽象类可以被实例化B.如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类C.抽象类中的方法必须都是抽象的D.声明抽象类必须带有关键字abstract33. 下面关于final说法错误的是 ( )A.final修饰的类不可以继承其他类B.内部类在访问局部变量的时候,局部变量需要使用final修饰C.被final修饰的引用类型变量内部的内容是可以发生变化的D.final修饰的变量称为常量,这些变量只能赋值一次。34. 给出

21、下面的代码 class Person String name,department; public void printValue() System.out.println(name is +name); System.out.println(department is +department); public class Teacher extends Person int salary; public void printValue() / 完成父类代码中printValue()相同的工作 System.out.println(salary is +salary); 下面的哪些表达式可以加入printValue()方法的注释部分? DA. printValue();B. this.printValue();C. person.printValue();D. super.printValue();35. 下面关于匿名对象说法错误的是( )A.匿名对象就是没有名字的对象,创建出来该对象后没有赋值给一个引用B.匿名对象调用完方法后还可以继续调用成员变量C.可作为实际参数进行传递D.创建匿名对象的时候只在堆里面开辟存储区域36. 在java中,以下程序的输出结果是( )classPointintx;booleany;voidoutput

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论