JAVA试题及答案(50道选择题)

A、 this关键字是在对象内部指代自身的引用 B、 this关键字可以在类中的任何位置使用

C、 this关键字和类关联,而不是和特定的对象关联 D、 同一个类的不同对象共用一个this

42、 在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列( D

)选项中的方法是LinkedList类有而ArrayList类没有的。 A、 add(Object o)

B、 add(int index,Object o) C、 remove(Object o) D、 removeLast()

43、 在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问

元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是( C )。 A、 bookTypeList.add(\小说\B、 bookTypeList.get(\小说\

C、 bookTypeList.contains(\小说\D、 bookTypeList.remove(\小说\

44、 给定如下Java代码,其中第( 无答案 )行代码有错误。

A、 4 B、 5 C、 6 D、 7 E、 8 F、 9

45、 以下关于布局的说法,错误的是( B )

A、 BorderLayout是边框布局,它是窗体的默认布局 B、 null是空布局,它是面板的默认布局

C、 FlowLayout是流布局,这种布局将其中的组件按照加入的先后顺序从左

向右排列, 一行排满之后就转到下一行继续从左至右排列

D、 GridLayout是网格布局,它以矩形网格形式对容器的组件进行布置。容

器被分成大小相等的矩形,一个矩形中放置一个组件

46、 以下用于创建容器对象的类是( AC )(选择两项)

A、 Frame B、 Checkbox C、 Panel D、 TextField

47、 以下关于抽象类和接口的说法错误的是( E )

A、 抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。

但是一个类却可以实现多个接口。 B、 在抽象类中可以没有抽象方法

C、 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。

接口中的方法都不能被实现

D、 接口中定义的变量默认是public static final 型,且必须给其初值,所以实

现类中不能重新定义,也不能改变其值。 E、 接口中的方法都必须加上public关键字。

48、 关于面向对象的说法正确的是( A )

A、 类可以让我们用程序模拟现实世界中的实体 B、 有多少个实体就要创建多少个类

C、 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是

要知道类的内部是如何实现

D、 现实世界中的某些实体不能用类来描述

一、单项选择题

1.下面( B )是合法的 Java 标识符。

A、#_pound B、_underscore C、5Interstate D、class

2.下面( D )赋值语句不会出现编译警告或错误。

A、float f=1.3; B、char c=\ C、byte b=257; D、int i=10;

3.编译一个定义了两个类和三个方法的 Java 源程序文件,总共会产生( D )个字节码文件。

A、5 个字节码文件,以“.java”为扩展名 B、2 个字节码文件,以“.java”为扩展名

C、5 个字节码文件,以“.class”为扩展名 D、2 个字节码文件,以“.class”为扩展名

4.有关类的说法,正确的是( B ) 。

A、类具有封装性,所以类的数据是不能被访问的

B、类具有封装性,但可以通过类的公共接口访问类中的数据 C、声明一个类时,必须使用 public 修饰符

D、每个类中必须有 main 方法,否则程序无法运行

5.执行完下面程序片段后, ( B )的结论是正确的。 int a, b, c; a = 1; b = 2;

c = (a + b > 3 ? a++ : b++);

A、a 的值是 2,b 的值是 3 B、a 的值是 1,b 的值是 3 C、a 的值是 1,b 的值是 2 D、c 的值是 false

6.将类的成员的访问权限设置为默认的,则该成员能被( A ) A、同一包中的类访问 B、其他包中的类访问 C、所有的类访问

D、所有的类的子类访问

7.下面的方法重载,正确的是( C ) 。

A、int fun(int a, float b) { } B、float fun(int a, float b) { } float fun(int a, float b) { } float fun(int x, float y) { } C、float fun(float a) { } D、float fun1(int a, float b) { } float fun(float a, float b) { } float fun2(int a, float b) { }

8.下面关于继承的说法,正确的是( D ) 。 A、超类的对象就是子类的对象 B、一个类可以有几个超类 C、一个类只能有一个子类 D、一个类只能有一个超类

9.下面关于多态性的说法,正确的是( C ) 。

A、一个类中不能有同名的方法

B、子类中不能有和父类中同名的方法

C、子类中可以有和父类中同名且参数相同的方法

D、多态性就是方法的名字可以一样,但返回的类型必须不一样

10.关于下面程序, ( A )的结论是正确的。 class J_SubClass extends J_Test { } public class J_Test { J_Test(int i) {

System.out.println(i); }

public static void main(String[] args) { J_SubClass a = new J_SubClass(); } }

。 A、不能通过编译,因为类 J_Test 没有定义无参数的构造方法

B、不能通过编译,因为类 J_SubClass 没有定义无参数的构造方法 C、不能通过编译,因为没有实现 J_SubClass(int i)的构造方法 D、可以成功通过编译

11.关于下面程序片段, ( B )的结论是正确的。 String a = \ String b = \ String x = \ String y = \ String c = x + y;

A、a 和 b 指向同一个实例对象,a 和 c 指向同一个实例对象 B、a 和 b 指向同一个实例对象,a 和 c 不指向同一个实例对象 C、a 和 b 不指向同一个实例对象,a 和 c 指向同一个实例对象 D、a 和 b 不指向同一个实例对象,a 和 c 不指向同一个实例对象

12.假设下面的程序代码都放在 MyClass.java 文件中, ( D )程序代码能够编译通过。

A、import java.awt.*; B、package mypackage; package mypackage; import java.awt.*;

class MyClass { } public class myClass { } C、int m; D、/*This is a comment*/ package mypackage; package mypackage; import java.awt.*; import java.awt.*; class MyClass { } public class MyClass { }

13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用( B )类。

A、java.io.RandomAccessFile B、java.io.PrintWriter

C、java.io.PrintStream D、java.io.PrintOutputStream

14.关于事件监听,正确的是( C ) 。 A、一个事件监听器只能监听一个组件 B、一个事件监听器只能监听处理一种事件

C、一个组件可以注册多个事件监听器,一个事件监听器也可以注册到多个组件上

D、一个组件只能引发一种事件

二、填空题

1. Class类是由 Java 编译器自动生成的,它伴随每个类。

2.任何一个 Java 程序都默认引入一个包,这个包的名字是java.lang 。 3.在 Java 语言中,有一个类是所有类或接口的父类,这个类的名称是

java.lang.Object 。

联系客服:779662525#qq.com(#替换为@)