1、使用Java实现面向对象编程阶段测试笔试试卷资料仅供参考使用Java实现面向对象编程阶段测试-笔试试卷一、选择题1)在Java类中,使用以下( B)声明语句来定义公有的int型常量MAX。A.public int MAX = 100;B.final int MAX = 100;C.public static int MAX = 100;D.public static final int MAX = 100;2)在Java中,下列关于方法重载的说法中错误的是(D )。A.方法重载要求方法名称必须相同B.重载方法的参数列表必须不一致C.重载方法的返回类型必须一致D.一个方法在所属的类中只能被重载一
2、次3)给定Java代码如下所示,在横线处新增下列(C )方法,是对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, int 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中,下面对于构造函数的描述正确的是( D)。A.类必须
3、显式定义构造函数B.构造函数的返回类型是voidC.构造函数和类有相同的名称,而且不能带任何参数D.一个类能够定义多个构造函数5)下面Java代码的运行结果是( D )。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(企鹅的名字是
4、 + name + ,健康值是 + health + ,性别是 + sex+ 。);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,性别是雄。6)下列选项中关于Java中封装的说法错误的是(D )。A.封装就是将属性私有化,提供公有的方法访问私有属性B.属性的访问
5、方法包括setter方法和getter方法C.setter方法用于赋值、getter方法用于取值D.类的属性必须进行封装,否则无法经过编译7)使用Java实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创立赋值和取值方法,用于对属性的访问,第三步应该是(B )。A.使用赋值和取值方法访问属性B.编写常规方法访问属性C.在赋值和取值方法中,加入对属性的存取限制D.编写main方法创立对象,调用赋值和取值方法访问属性8)分析如下所示的Java代码,其中this关键字的意思是(B )。public class Test private String name;public String
6、getName() return name;public void setName(String name) this.name = name; /this关键字所在的行A.name属性B.Test类的内部指代自身的引用C.Test类的对象引用Test类的其它对象D.指所在的方法9)在Java中,以下程序编译运行后的输出结果为(B )。public class 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 = ne
7、w Test(3, 3); pt2 = new Test(4, 4); System.out.print(pt1.x + pt2.x); A.6B.3 4C.8D.710)在Java语言中,下列关于类的继承的描述,正确的是(B )。A.一个类能够继承多个父类B.一个类能够具有多个子类C.子类能够使用父类的所有方法D.子类一定比父类有更多的成员方法11)Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是(B )。A.C不但继承了B中的公有成员,同样也继承了A中的公有成员B.C只继承了B中的成员C.C只继承了A中的成员D.C不能继承A或B中的成员12)给定一个Java程序Te
8、st.java的代码如下所示,编译时,会出现以下(A )情况。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行引发编译错误C.在第2行引发编译错误D.在第3行引发编译错误13)给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是( )。class Parent1 Parent1(String s) Sys
9、tem.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 Child(); A.编译错误:没有找到构造器Child()B.编译错误:没有找到构造器Parent1()C.正确运行,没有输出值D.正确运行,输出结果为:parent214)给定Java程序Child.java的代码如下所示,则编译运行该类
10、的结果是( )。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 = new Child(child); A.输出:childB.输出:child parentC.输出:parent childD.编译错误15)下列选项中关于Java中super关键字的说法错误的是( )。A.super关键字是在子类对象
11、内部指代其父类对象的引用B.super关键字不但能够指代子类的直接父类,还能够指代父类的父类C.子类能够经过super关键字调用父类的方法D.子类能够经过super关键字调用父类的属性16)分析如下所示的Java代码,则选项中的说法正确的是( )。class Parentpublic String name;public Parent(String pName)this.name = pName;public class Test extends Parent /1public Test(String Name) /2name=hello; /3super(kitty); /4A.第2行错误,
12、Test类的构造函数中参数名称应与其父类构造函数中的参数名相同B.第3行错误,应使用super关键字调用父类的name属性,改为super.name=hello;C.第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行D.程序编译经过,无错误17)以下关于Object类说法错误的是( )。A.一切类都直接或间接继承自Object类B.接口亦继承Object类C.Object类中定义了toString()方法D.Object类在java.lang包中)18)在Java中,多态的实现不但能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么实现多态的步骤包括以下几个方面除了(
13、)。A.子类重写父类的方法B.子类重载同一个方法C.定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作为参数传入方法D.运行时,根据实际创立的对象类型动态决定使用哪个方法19)给定Java代码如下所示,则编译运行后,输出结果是( )。class Parent public void count() System.out.println(10%3); public class Child extends Parent public void count() System.out.println(10/3); public static void main(String args
14、) Parent p = new Child(); p.count(); A.1B.1.0C.3D.3.333520)分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在横线处应填入( )。class A public void test() System.out.println(A类的test()方法); class 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
15、.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 Child extends Basepublic void methodB()System.out.print (Child methodB);class Sample public static void main(String args) Base bas
16、e= new Child();base.methodB();A.Base methodB.Child methodBC.Base method Child MethodBD.编译错误22)下面关于Java接口的说法错误的是( )。A.一个Java接口是一些方法特征的集合,但没有方法的实现B.Java接口中定义的方法在不同的地方被实现,能够具有完全不同的行为C.Java接口中能够声明私有成员D.Java接口不能被实例化23)在Java接口中定义常量,下面语法错误的是( )。A.static int MALE = 1;B.final int MALE = 1;C.int MALE = 1;D.pr
17、ivate 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 stat
18、ic 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();26) 在JAVA语言里,MyProgram.Java被编译后,生成( ).A.MyProgram.ObjB.MyProgram.exeC.MyProgram.batD.MyProgram.class27) 在java源文件描述错误的是( ).A. 源文件内部最多有两个公共类B. 含有多两个公共类(publi
19、c修饰的类)的源文件必须与公共类名称相同C. 源文件扩展名为:javaD. 源文件内部能够含有多个类28). JAVA中,以下( )不是构造方法的特征.A. 构造方法能够重载B. 构造方法必须指定返回类型C. 构造方法和类同名D. 可在类中设置默认构造函数29) 任何一个JAVA程序都默认引入一个包,这个包名是( )A. java.langB. java.objectC. java.utilD. java.io31) 在JAVA中,下列有关子类继承父类构造函数的描述,其中的正确的是( ).A. 创立子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数B. 子类无条件的继承父类不含数参
20、数的构造函数C. 子类必须经过super关键字调用父类的构造函数D. 子类继承父类的构造函数32) 不能在JAVA派生类中被覆盖的方法( ).A. 构造函数B. 非静态方法C. 抽象方法D. final方法33) JAVA中,已知借口ICar定义如下,那么能够实现借口ICar的类CAR是( ).Interface ICar Int right(int j); Int left(int j);A)class Car implements ICar Int right(int j) Int left(int j)B)class Car extends ICar Int right(int j) I
21、nt left(int j) C)class Car Int right(int j) Int left(int j)D)class Car implements ICar Int right(int j) Int left(int j)34),类Test定义如下:public abstract class Test public abstract void m1(); public abstract void m2() System.out.println(“Hello”);如果对这段程序进行修改,其中不会导致错误的修改是( ).A.为m1()方法添加一个方法体B.将修饰m1()方法abst
22、ract关键字删除C.删除m2()方法的方法体,仅声明m2()方法D将修饰Test类的abstract关键字删除35. 在JAVA的集合类List中定义的方法能够从列表中index参数指定位置的元素的是( ).A. set(int index,Object obj)B. get(int index)C. indexOf(Object obj)D. listerator(int index)36. 在JAVA中,如果需要手动引发异常,需要使用关键字( ).A. tryB. catchC. throwD. throws37.已知如下JAVA程序段public class test public s
23、tatic void mian(String args) String s1=args0; String s2=args1; String s3=args2;若编译程序后键入如下命令:java Test one tow three.那么变量s1所引用的字符串为( ).A. Null.B. JavaC. TestD. One38. 给定一个Java程序的方法结构,如下public Integer change(int i);以下方法体实现语句正确的是( ).A.return new Integer;B.Intger t=Integer.value()f(i);Return t;C.Intger
24、int =new Integer(i);Return int;D.return I;39. 下列JAVA注释中,( )是不正确的.A. /*comment*/B. /*comment*/C. /commentD. /*comment40. JAVA中,下列哪个类声明是正确的?( ).A. abstract final class AB. protected private C;C. public abstract class BD. abstract private class D()41. JAVA中,以下语句中属于合法类型转换的( )A. (int)”A”B. (char)”A”C. (c
25、har)(651/12)D.(Boolean)(2-2)42. JAVA中,下列属于合法标志符的是( ).A. 2$B. _atmC. staticD.23%43.下面JAVA程序的输出结果是( )public static void main()(String args)final int A=4; int a=2; seitch(a*2) case A:System.out.println(a); default: System.out.println(a*2);A. 2B. 4C. 24D.报错44. JAVA中,类Test定义如下:Calss Test int m; public st
26、atic void fun(),如果希望fun()方法能够引用成员变量m,那么需要将第2行代码改为( ).A. protected int m;B. static int m;C. public int m;D. private int m;45. JAVA中.若在类A中有一个无形式参数且无返回值的方法m1(),而且在调用这个方法时能够使用类名趁而不是对象名趁,那么生命这个方法的形式为( ). A. public void m1() B. static void m1() C. final void m1() D. void final m1()46. JAVA中,以下关于接口的说法不正确的是
27、( ). A. 一个类能够实现多个接口类似与多重继承 B. 接口没有构造函数和析够函数C. 接口包含的方法既能够实现,也能够不实现D. 接口能够继承47. JAVA中,如果一个类至少有一个纯属函数,那么就称该类为( ). A. 虚基类B. 抽象类C. 派生类D. 以上都不对48. 再JAVA程序设计中,我们希望管理的对象按照一定次序排序成对象集,对象之间有次序关系并允许有重复的对象.此时能够选用的对象容器是( ). A. SortedSet B. LinkedList C. TreeSet D. HashSet49. JAVA中,以下循环语句的执行次数是( ).Int x=37;Int y=3
28、;While(y=x) y*=y; A. 0 B. 1 C. 2 D. 350. JAVA中,用语在定义子类继承父类的关键字是( ). A. interface B. implements C. extends D. class51. JAVA中,下面声明的方法中哪一个不会被覆盖( ). A. final abstract void m1() B. static void m1() C. final void m1() D. void final m1()52. JAVA中,以下关于接口的说法部正确的是( ). A. 一个类能够实现多个接口类似与多种继承 B. 接口没有构造函数和析够函数 C.
29、 接口能够继承 D. 借口包含的方法既能够实现.也能够不实现53. 在JAVA中,在尝试对NULL 对象操作时,会产生( )类型的异常.A. ArithmeticException B. NullPointerExcption C. IONExerption D. EOFException54 JAVA中,关于异常以下说法正确的( ). A. 异常是指程序中出现的任何错误 B. 异常是指try-catch语句块捕获和处理的程序编译时错误 C. 异常是指throw关键字抛出是异常对象D. 异常是指try-catch-finally语句块保护的遭破坏的资源55. 在JAVA中,以下不是引用类型的是
30、( ). A. 类 B. 接口 C. 结构D. 字符串57.在Java中要创立一个只允许单行输入的文本域myVar,语句为( )。(选择一项)a)TextArea myVar = new TextArea( );b)Text myVar = new Text( );c)TextField myVar = new TextField(3, 10)d)TextField myVar = new TextField( );58.在Java中,下列( )是抽象窗口工具包提供的内容。(选择一项)用于创立用户界面的GUI组件用于事件处理的模型排列图形组件的布局管理器a) b) b)c) c)d) d)59
31、.选择正确生成text field的代码,此text field最多能够显示10个字符(假定其字体有固定大小)并最初显示“hello”串:(选择一项)A) new TextField(hello, 10) ;B) B)new TextField(10,hello);C)new TextField(hello,max,10);D)new TextField(hello,10,max);60.从下面的布局管理器中选择按行放置控件、从左到右、从上到下,当一行装满时开始新的一行的布局管理器:(选择一项)A)CardLayoutB)FlowLayoutC)BorderLayoutD)GridLayout
32、61.选择能够替换一个Container对象布局的方法(选择一项):A)setLayout(aLayoutManager);B)addLayout(aLayoutManager);C)layout(aLayoutManager);D)setLayoutManager(aLayoutManager);62.在Java中,下列代码段允许按钮注册一个action事件的是( )(一项)a)button.enableActionEvents();b)button.addActionListener(anActionListener):c)button.enableEvents(true);d)butto
33、n.enableEvents(AWTEvent.ACTION_EVENT_MASK);63listener(监听器)方法的正确的访问修饰符是什么?(选择一项)A)publicB)staticC)privateD)protectedE)Default(即默认为空)64. 补齐代码 Public class StringComparePublic static void main(String args)String s1=new String (“morning”);String s2=new String(“evening”);_System.out.println(“s1与s2的值相等”);else System.out.println(“s1与s2的值不相等”);