




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。1. 下列说法哪个正确?()A. 一个程序可以包含多个源文件(源文件demo.java,字节码是demo.class)B. 一个源文件中只能有一个公共类C. 一个源文件中可以有多个类D. 一个源文件只能供一个程序使用2. 以下关于Object类说法错误的是( )。A.一切类都直接或间接继承自Object类B.接口也继承Object类 / 接口并没有继承Object类. 所有的接口都默认具备Object中的方法的抽象形式 , 以备给子类使用 .C.Object类中定义了toString()方法D.Object类在java.lang包中3. 在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,下面哪一个选项不属于多态的条件( )。A.子类重写父类的方法B.子类重载同一个方法 /重载是指同一个类中重名方法,但是参数不同(参数个数,参数顺序,参数类型不同)C.要有继承或实现D.父类引用指向子类对象4. 编译运行如下Java代码,输出结果是( )。class Base public void method()System.out.print (Base method);class Child extends Basepublic void methodB()System.out.print (Child methodB);class Sample public static void main(String args) Base base = new Child();base.methodB(); / 父类中没有methodB()方法,所以会报错. A.Base methodB.Child methodBC.Base method Child MethodBD.编译错误abstract不能和哪些关键字共存?1) abstract和static被abstract修饰的方法没有方法体被static修饰的可以用类名.调用,但是类名.调用抽象方法是没有意义的2) abstract和final被abstract修饰的方法强制子类重写被final修饰的不让子类重写,所以他俩是矛盾3) abstract和private被abstract修饰的是为了让子类看到并强制重写被private修饰不让子类访问,所以他俩是矛盾的5. 下面说法正确的是( )。A. final 可修饰类、属性(变量)、方法(不能被重写) B. abstract可修饰类、方法C. 抽象方法只有方法声明,没有方法体 D. 关键字final和abstract不能同时使用(还有private,static)6. 在Java接口中,下列选项中属于有效的方法声明是( )。A.public void aMethod();/接口中默认Public abstract 方法 方法名();B.final void aMethod();/这也是不行的,final修饰后就不能被子类实现C.void aMethod() /抽象方法只有方法声明,没有方法体D.private void aMethod(); /private和abstract 共用7. 下面说法中错误的是A. 静态代码块类一加载只执行一次 , 以后再创建对象的时候不执行B. 局部代码块的作用是为了限制变量的生命周期C.构造代码块在每创建一次对象就执行一次D.以上都不对8. 下面哪些关键字能用来控制对类成员的访问( )?A. public B. protected C. private D. default/我们说的默认是default吗?Default是关键字9. 给定如下Java代码 , 以下( )方法可以加入Child类中。 public 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() 1.抽象是没有方法,不能不存在非抽象得chhile类中10. 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用( )关键字来声明父类的这些方法。A.finalB.staticC.abstractD.void 11. 下面关于变量及其范围的陈述哪些是对的? ( )A. 实例变量(区别于类变量,属于对象的变量)是类的成员变量。/在堆内存中B. 实例变量用关键字static声明。(静态变量采用Static修饰)C. 在方法中定义的局部变量在该方法被执行时创建D. 局部变量在使用前必须被初始化。12. 给定两个java程序,如下: public interface Face int counter = 40; public class Test implements Face private static int counter; / 默认值为 0 public static void main(Stringargs) System.out.println(+counter); /就近原则 Test.java 的编译运行结果是( )。 A.40 B.41 C.0 D.1 13. 关于abstract不能和哪些关键字共用正确的是()A.abstract不可以和private共用 / 抽象方法无法被继承,更谈不上被子类重写了.B.abstract不可以和static共用 / 类名.方法(), 如果是个抽像方法,那么没有意义.C.abstract不可以和final共用 / 抽象方法无法被继承,更谈不上被子类重写了.D.abstract不可以和public共用14. Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是( )。A.C可以继承B中的公有成员,同样也可以继承A中的公有成员B.C只继承了B中的成员C.C只继承了A中的成员D.C不能继承A或B中的成员15. 给定java程序,如下:publicclassTestprivatestaticfinalintcounter=10;/常量不能被改变默认大写 COUNTERpublicstaticvoidmain(Stringargs)System.out.println(+counter);/成员变量的默认初始化值是无效值/因为final修饰的变量只能被赋值一次,所以会特别珍惜这次赋值,所以系统的默认初始化值是无效的编译运行Test.java,结果是()A.10B.11C.编译错误D.运行时出现异常16. 给定一个Java程序代码,如下:publicclassTestintcount=9;publicvoidcount1()intcount=10;System.out.println(count1=+count);/ 10publicvoidcount2()System.out.println(count2=+count);/ 9publicstaticvoidmain(Stringargs)Testt=newTest();t.count1();t.count2();编译运行后,输出结果是A.count1=9count2=9B.count1=10count2=9C.count1=10count2=10D.count1=9count2=1017. 按照课堂要求在类中定义构造方法和set方法,关于这两个方法描述错误的是( )A.构造方法是用来创建对象或者初始化成员数据的/B.set方法是为对象中成员变量赋值的C.带参构造在创建对象的时候也可以为成员变量赋值D.类中的带参构造方法与set方法功能是完全重复的,可以只选其一/构造方法最主要的功能是为对象开辟内存空间创建对象;set方法唯一的功能是为成员变量赋值。两者重点功能完全不一样,如果是带参构造的话,是在创建完对象以后捎带着给成员变量赋值,不能混为一谈18. 程序Test.java编译运行后输出的结果是( )。public class Test String s1=java; public static void main(String args) int z=2; Test t=new Test(); System.out.println(t.s1+z); A. java2 B. 2 C. 没有输出结果 D. java19. 用于定义类成员的访问控制权的一组关键字是( )。 A. class, float, double, public B. float, boolean, int, long C. char, extends, float, double D. public, private, protected 20. 给定java代码,如下:编译运行,结果是publicstaticvoidmain(Stringargs)Strings; /局部变量一定要初始化值,成员变量系统会自动初始化值System.out.println(“s=”+s); /s没有赋值.所以编译出错. A.编译错误B.编译通过,但出现运行时错误C.正常运行,输出s=nullD.正常运行,输出s=21. 关于类和对象的叙述正确的是:( ) AJava的类分为两大部分:系统定义的类和用户自定义的类/api和自己定的类如:person B类的静态属性和全局变量(成员变量)的概念完全一样,只是表达形式不同/static成员变量:随着对象的创建而存在,随着类的消失而消失静态变量:随着类的加载而加载,随着类的消失而消失 C编写一个类时,该类的成员至少要有一个成员变量和一个成员方法/可以空类 D类是对象的实例化22. 给出下面的不完整的类代码 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)的逻辑 department = d; 下面的哪些表达式可以加到构造方法中的注释处? ( )A. Person(n,a);/会当做普通的方法,B. this(Person(n,a); /构造函数的名字不能当方法名调用;C. this(n,a);D. this(name,age); /构造方法的参数也不能直接传实例变量名23. 关于对象成员占用内存的说法哪个正确?()A同一个类的对象共用同一段内存/同一个对象共同占用一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C对象的方法不占用内存/不占内存存哪?D以上都不对24. 给定Java代码如下所示,则编译运行后,输出结果是( )。class Parent Int money= 5000; public void count() System.out.println(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.333333333333333525. 下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。A. 内部类可以直接访问外部类的成员B. 外部类可以直接访问内部类的成员C. 外部类不能访问内部类的成员D. 外部类可通过创建内部类的实例来访问内部类的成员26. 查看下面代码:classApublicinti=10; classBextendsApublicinti=20; publicclassTestpublicstaticvoidmain(Stringargs) Bb=newB(); Aa=b; /多态 System.out.println(b.i); /类型和实体都是子类 , 所以用子类自身20的成员变量. System.out.println(a.i); /类型是父类型,实体是子类. 所以用父类的成员变量. 输出为多少 ( ) A.10 10 B.10 20 C.20 10 D.20 2027. 在Java接口中定义常量,下面语法正确的是( )。A.static final int MALE = 1;B.final int MALE = 1;C.int MALE = 1; D.private int MALE = 1;/私有变量,接口中的变量不能是私有的public static final int MALE = 1; 接口中只定义常量的方法.public abstract 返回值 method(); 接口中只定义抽象方法.28. 在Java语言中,下列关于类的继承的描述,正确的是( )。A.一个类可以继承多个父类 / 只能有一个爹,爹多了就出事了.B.一个类可以具有多个子类C.子类可以使用父类的所有方法 /父类被private修饰的方法,子类不能用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 Child(); A.编译错误:没有找到构造器Child()B.编译错误:没有找到构造器Parent1()C.正确运行,没有输出值D.正确运行,输出结果为:parent230. 下列说法哪个正确?A不需要定义类,就能创建对象B对象中必须有属性和方法 /new();C属性可以是简单变量,也可以是一个对象D、属性必须是简单变量31. 给定java代码,如下:publicclassTeststaticinti=0;publicintaMethod()i+; /静态区returni;publicstaticvoidmain(Stringargs)Testtest=newTest();test.aMethod(); / i=1System.out.println(test.aMethod();/i=2编译运行后,输出结果是()。A.0B.1C.2D.332. 下面关于final说法错误的是 ( )A.final修饰的类不可以继承其他类/不能被继承B.内部类在访问局部变量的时候,局部变量需要使用final修饰/与生命周期相关,局部内部类C.被final修饰的引用类型变量内部的内容是可以发生变化的/仅仅是该final修饰的引用指向的地址值不能发生变化D.final修饰的变量称为常量,这些变量只能赋值一次。/初始值无效33. 给出下面的代码 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()方法的注释部分? A. printValue();/递归调用B. this.printValue();/和A一样C. person.printValue();/person不存在D. super.printValue();34. 下面关于匿名对象说法错误的是( )A.匿名对象就是没有名字的对象,创建出来该对象后没有赋值给一个引用/当对象对方法仅仅之调用一次的时候,可以用到匿名对象,目的节省代码B.匿名对象调用完方法后还可以继续调用成员变量/只能使用一次, 使用完就等待被销毁匿名对象调用完毕就是垃圾。可以被垃圾回收器回收。C.可作为实际参数进行传递/如:newcar();D.可以以下面格式使用匿名对象:new 类名().方法名(参数列表);/指调用35. 在java中,以下程序的输出结果是( )classPointintx;booleany;voidoutput()System.out.println(x);System.out.println(y);publicstaticvoidmain(Stringargs)Pointpt=newPoint();pt.output();A.运行错误B.0tureC. 0 falseD.0036. 下面关于 this和super描述正确的是A、都可以用在main()方法中/main方法是静态的,静态方法中没有thisB、都是指一个对象的内存地址/父类指向的是父类内存空间的标识,可以理解为父类对象引用C、不能用在main()方法中D、意义相同37. 给定如下Java程序代码,在_横线处加入( )语句,可以使这段代码编译通过。interface Parent public int count(int i);public cl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中分子与细胞课件
- 高三物理最后一课课件
- 高三家长会课件
- 高一政治课件资本主义
- 知识产权保护劳动合同补充协议书变更
- 《离婚冷静期间婚姻法律咨询与代理服务合同》
- 汽车美容店租赁合同经营许可及监管协议
- 智能家居研发合伙协议退伙技术成果转化协议
- 智能制造工程合同签订关键要素及法律风险防范
- 离婚诉讼中子女抚养费及扶养费调整协议书
- 【一例重症肺炎的个案护理案例报告6000字(论文)】
- 员工培训体系优化研究
- 冯友兰-人生的境界课件
- 传热学全套PPT完整教学课件
- 部编版六年级道德与法治上册第5课《国家机构有哪些》优秀课件
- 高中心理健康教育北师大版高二全册第6课《温故知新》省级名师优质课教案比赛获奖教案示范课教案公开课教案
- 瑞美检验医生工作站操作手册
- 欧美电影文化(上海工程技术大学)【智慧树知到】网课章节答案
- 双人心肺复苏
- 全过程工程咨询服务大纲
- T-GDPA 3-2021 奥利司他胶囊质量标准
评论
0/150
提交评论