《Java面向对象测试试题(经典).doc》由会员分享,可在线阅读,更多相关《Java面向对象测试试题(经典).doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJava面向对象测试试题(经典)学士后java试题使用Java实现面向对象编程阶段测试-笔试试卷一、选择题(共25题,每题4分,满分100分)1)在Java类中,使用以下( )声明语句来定义公有的int型常量MAX。A.public int MAX = 100;B.final int MAX = 100;C.public static int MAX = 100;D.
2、public static final int MAX = 100;2)在Java中,下列关于方法重载的说法中错误的是( )。A.方法重载要求方法名称必须相同B.重载方法的参数列表必须不一致C.重载方法的返回类型必须一致D.一个方法在所属的类中只能被重载一次3)给定Java代码如下所示,在横线处新增下列( )方法,是对cal方法的重载。public class Test public void cal(int x, int y, int z) A.public int cal(int x, int y, float z) return 0; B.public int cal(int x, in
3、t y, int z) return 0; C.public void cal(int x, int z) D.public void cal(int z, int y, int x) 4)在Java中,下面对于构造函数的描述正确的是( )。A.类必须显式定义构造函数B.构造函数的返回类型是voidC.构造函数和类有相同的名称,并且不能带任何参数D.一个类可以定义多个构造函数5)下面Java代码的运行结果是( )。class Penguin private String name=null; / 名字private int health=0; / 健康值private String sex=n
4、ull; / 性别public void Penguin() health = 10;sex = 雄;System.out.println(执行构造方法。);public void print() System.out.println(企鹅的名字是 + name + ,健康值是 + health + ,性别是 + sex+ 。);public static void main(String args) Penguin pgn = new Penguin();pgn.print();A.企鹅的名字是null,健康值是10,性别是雄。B.执行构造方法。 企鹅的名字是null,健康值是0,性别是nu
5、ll。C.企鹅的名字是null,健康值是0,性别是null。D.执行构造方法。 企鹅的名字是null,健康值是10,性别是雄。6)下列选项中关于Java中封装的说法错误的是( )。A.封装就是将属性私有化,提供公有的方法访问私有属性B.属性的访问方法包括setter方法和getter方法C.setter方法用于赋值、getter方法用于取值D.类的属性必须进行封装,否则无法通过编译7)使用Java实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是( )。A.使用赋值和取值方法访问属性B.编写常规方法访问属性C.在赋值和取值方法中,加入
6、对属性的存取限制D.编写main方法创建对象,调用赋值和取值方法访问属性8)分析如下所示的Java代码,其中this关键字的意思是( )。public class Test private String name;public String getName() return name;public void setName(String name) this.name = name; /this关键字所在的行A.name属性B.Test类的内部指代自身的引用C.Test类的对象引用Test类的其他对象D.指所在的方法9)在Java中,以下程序编译运行后的输出结果为( )。public clas
7、s Test int x, y; Test(int x, int y) this.x = x; this.y = 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.710)在Java语言中,下列关于类的继承的描述,正确的是( )。A.一个类可以继承多个父类B.一个类可以具有多个子类C.子类可以使用父类的所有方法D.子类一定比父类有更多的成员方法11)Java
8、中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是( )。A.C不仅继承了B中的公有成员,同样也继承了A中的公有成员B.C只继承了B中的成员C.C只继承了A中的成员D.C不能继承A或B中的成员12)给定一个Java程序Test.java的代码如下所示,编译时,会出现以下( )情况。class Parent public int count() / 第1行return 0;public class Test extends Parent private int i;public int count() / 第2行return i % 9; / 第3行 A.编译通过B.在第1行引发编
9、译错误C.在第2行引发编译错误D.在第3行引发编译错误13)给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是( )。class Parent1 Parent1(String s) System.out.println(s); class Parent2 extends Parent1 Parent2() System.out.println(parent2); public class Child extends Parent2 public static void main(String args) Child child = new Chil
10、d(); A.编译错误:没有找到构造器Child()B.编译错误:没有找到构造器Parent1()C.正确运行,没有输出值D.正确运行,输出结果为:parent214)给定Java程序Child.java的代码如下所示,则编译运行该类的结果是( )。class Parent Parent() System.out.println(parent); public class Child extends Parent Child(String s) System.out.println(s); public static void main(String args) Child child = n
11、ew Child(child); A.输出:childB.输出:child parentC.输出:parent childD.编译错误15)下列选项中关于Java中super关键字的说法错误的是( )。A.super关键字是在子类对象内部指代其父类对象的引用B.super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C.子类可以通过super关键字调用父类的方法D.子类可以通过super关键字调用父类的属性16)分析如下所示的Java代码,则选项中的说法正确的是( )。class Parentpublic String name;public Parent(String pName)t
12、his.name = pName;public class Test extends Parent /1public Test(String Name) /2name=hello; /3super(kitty); /4A.第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同B.第3行错误,应使用super关键字调用父类的name属性,改为super.name=hello;C.第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行D.程序编译通过,无错误17)以下关于Object类说法错误的是( )。A.一切类都直接或间接继承自Object类B.接口亦继承Obje
13、ct类C.Object类中定义了toString()方法D.Object类在java.lang包中)18)在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么实现多态的步骤包括以下几个方面除了( )。A.子类重写父类的方法B.子类重载同一个方法C.定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作为参数传入方法D.运行时,根据实际创建的对象类型动态决定使用哪个方法19)给定Java代码如下所示,则编译运行后,输出结果是( )。class Parent public void count() System.out.println(10%3)
14、; public class Child extends Parent 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.333333333333333520)分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在横线处应填入( )。class A public void test() System.out.println(A类的test()方法); class
15、 B extends A public void test() System.out.println(B类的test()方法); public static void main(String args) A.A a = new B(); a.test();B.A a = new A(); a.test();C.B b = new A(); b.test();D.B b = new B(); b.test();21)编译运行如下Java代码,输出结果是( )。class Base public void method()System.out.print (Base method);class C
16、hild extends Basepublic void methodB()System.out.print (Child methodB);class Sample public static void main(String args) Base base= new Child();base.methodB();A.Base methodB.Child methodBC.Base method Child MethodBD.编译错误22)下面关于Java接口的说法错误的是( )。A.一个Java接口是一些方法特征的集合,但没有方法的实现B.Java接口中定义的方法在不同的地方被实现,可以具
17、有完全不同的行为C.Java接口中可以声明私有成员D.Java接口不能被实例化23)在Java接口中定义常量,下面语法错误的是( )。A.static int MALE = 1;B.final int MALE = 1;C.int MALE = 1;D.private int MALE = 1;24)在Java接口中,下列选项中属于有效的方法声明是( )。A.public void aMethod();B.void aMethod();C.void aMethod()D.private void aMethod(); 25) 给定如下Java程序代码,在横线处加入( )语句,可以使这段代码编译通过。interface Parent public int count(int i);public class Test implements Parent public int count(int i) return i % 9; public static void main(String args) _ int i = p.count(20); A.Test p = new Test();B.Parent p = new Test();C.Parent p = new Parent();D.Test p = new Parent();考试时间 50分钟-