java面向对象测试题含答案.docx
《java面向对象测试题含答案.docx》由会员分享,可在线阅读,更多相关《java面向对象测试题含答案.docx(44页珍藏版)》请在冰豆网上搜索。
java面向对象测试题含答案
java面向对象测试题含答案
1.类和对象之间关系是()[单选题]
联接关系
包含关系
抽象与具体的关系(正确答案)
类是对象的具体化
2.类是具有相同()的集合,是对对象的抽象描述[单选题]
属性和方法(正确答案)
变量和方法
变量和数据
对象和属性
3.下列哪个类声明是正确的()[单选题]
publicvoidH1{…}
publicclassMove(){…}
publicclassvoidnumber{…}
publicclassCar{…}(正确答案)
4.定义类头时,不可能用到的关键字是()[单选题]
class
void(正确答案)
extends
public
5.关于方法功能描述错误的是()[单选题]
使程序结构清晰
实现代码模块化重用
方法是类功能的封装
重复代码(正确答案)
6.关于方法形参描述正确的是()[单选题]
可以没有形参(正确答案)
至少有一个形参
必须定义多个形参
形参只能是基本变量类型
7.在定义方法时在最后一个形参的类型后增加“...”,相关描述错误()[单选题]
可变参数接受的对象是一个数组
“...”表示可变参数
“...”表示省略号(正确答案)
“...”只能出现在参数列表的最后
8.利用方法中的()语句可为调用方法返回一个值[单选题]
return(正确答案)
back
end
以上答案都不对
9.以下关于return语句使用描述错误的有()
不能用来返回对象(正确答案)
只可以返回数值(正确答案)
方法中都必须包含return语句(正确答案)
一个方法可以有多个return语句
10.void的含义描述正确的是()[单选题]
方法体为空
方法体没有意义
方法没有返回值(正确答案)
定义方法时必须使用
11.main()方法的返回类型是()[单选题]
boolean
void(正确答案)
int
static
12.下面的方法声明中,哪个是正确的()[单选题]
publicclassmethodName(){…}
publicvoidintmethodName(){…}
publicvoidmethodName(){…}(正确答案)
publicmethodName{…}
13.下列方法定义中,不正确的是()[单选题]
floatx(inta,intb){returna-b;}
intx(inta,intb){returna-b;}
intx(inta,intb);{returna*b;}(正确答案)
intx(inta,intb){returna*b;}
14.以下关于构造方法特点理解正确的选项有()
构造方法主要用于对象创建时初始化对象(正确答案)
构造方法没有返回值,也不能用void来修饰(正确答案)
构造方法的命名必须和类名完全相同(正确答案)
一个Java类只能有一个构造方法
15.下面关于构造方法描述不正确的是()[单选题]
当无其他构造方法时,系统提供默认的构造方法
同一个类的多个构造方法的名称可以不同(正确答案)
构造方法可以重载
构造方法可以设置参数
16.有一个类A,以下为其构造方法的声明,其中正确的是()[单选题]
voidA(intx){…}
publicA(intx){…}(正确答案)
publica(intx){…}
staticA(intx){…}
17.设i,j为类X中定义的double型变量名,下列X类的构造方法中不正确的是()[单选题]
doubleX(doublek){i=k;returni;}(正确答案)
X(){i=6;j=8;}
X(doublem,doublen){i=m;j=n;}
X(doublek){i=k;}
18.对于任意一个类,用户所能定义的构造方法的个数至多为()[单选题]
0个
1个
2个
任意个(正确答案)
19.构造方法何时被调用()[单选题]
类定义时
创建对象时(正确答案)
调用对象方法时
使用对象的变量时
20.以下()是专门用于创建对象的关键字[单选题]
new(正确答案)
double
int
class
21.在方法调用过程中,位于方法名之后圆括号的变量被称为()[单选题]
变元
参数(正确答案)
语句
声明
22.关于面向对象的说法正确的是()[单选题]
类可以让我们用程序模拟现实世界中的实体(正确答案)
有多少个实体就要创建多少个类
对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现
现实世界中的某些实体不能用类来描述
23.一条return语句将给调用程序返回()个值
0(正确答案)
1(正确答案)
2
任意
24.下列关于成员变量描述正确的有()
成员变量在类中方法外面(正确答案)
成员变量在内存的栈中
随着对象的创建而存在,随着对象的消失而消失(正确答案)
对象初始化后成员变量没赋值会有默认的初始值(正确答案)
25.在Java中,变量可以分为全局变量和()变量[单选题]
静态
实列
局部(正确答案)
普通
26.下列关于局部变量描述正确的有()
局部变量在代码块中,或者方法的声明上(正确答案)
局部变量在内存的堆中
随着方法的调用执行完代码块后局部变量会消失(正确答案)
局部变量使用前需要赋值(正确答案)
27.下列关于成员变量与局部变量的说法不正确的是()[单选题]
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
创建对象时Java会给成员变量一个初始值
创建对象时Java会给局部变量赋予初始值(正确答案)
28.关于this关键字描述正确的选项有()[单选题]
this代表类自身对象的引用(正确答案)
this不能在构造方法中使用
this不能在普通方法中使用
以上描述都不正确
29.下列选项中关于Java中super关键字的说法正确的是()[单选题]
super关键字是在子类对象内部指代其父类对象的引用(正确答案)
super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
子类通过super关键字只能调用父类的方法,而不能调用父类的属性
子类通过super关键字只能调用父类的属性,而不能调用父类的方法
30.下列选项中,那个不是Java的访问修饰符()[单选题]
private
public
friendly(正确答案)
protected
31.在定义抽象类需要用到关键字()[单选题]
static
final
abstract(正确答案)
interface
32.关于抽象类,下列说法错误的是()[单选题]
抽象类中可以存在普通方法和抽象方法
抽象类中可以存在属性
抽象类中可以实例化(正确答案)
一个非抽象类继承抽象类必须实现抽象类中的所有抽象方法
33.关于访问修饰符访问权限由小到大描述正确的是()[单选题]
private->protected->default->public
private->protected->public->public
private->default->protected->public(正确答案)
default->private->protected->public
34.下列关于static关键字的使用描述正确的选项有()
被static修饰的变量即为静态变量(正确答案)
被static修饰的方法称为静态方法(正确答案)
所有的静态变量都可以通过类名直接访问(正确答案)
所有的静态方法都可以通过类名直接访问(正确答案)
35.下列关于静态代码块的描述中,正确的是()
静态代码块指的是被static关键字修饰的代码块(正确答案)
静态代码块随着类的加载而加载(正确答案)
使用静态代码块可以实现类的初始化(正确答案)
每次创建对象时,类中的静态代码块都会被执行一次
36.类的()成员只能被该类的成员访问,而不能被非该类的成员访问[单选题]
public
private(正确答案)
protected
abstract
37.下列选项中关于Java中封装的说法错误的是()[单选题]
封装可以将属性私有化,提供公有的方法访问私有属性
属性的访问方法包括setter方法和getter方法
setter方法用于赋值、getter方法用于取值
类的属性必须进行封装,否则无法通过编译(正确答案)
38.在Java中,关于包以下描述正确的是()
要使用JavaSEAPI的System类必须importjava.lang.System
要使用JavaSEAPI的System类不须要importjava.lang.System(正确答案)
要使用JavaSEAPI的Scanner类必须importjava.util.Scanner(正确答案)
要使用JavaSEAPI的Scanner类不须要importjava.util.Scanner
39.在Java中,关于包的导入的关键字是()[单选题]
import(正确答案)
class
implements
extends
40.在java中,下列关于继承的说法哪个是正确的()[单选题]
子类只继承父类public方法和属性
子类继承父类的非私有属性和方法(正确答案)
子类只继承父类的方法,而不能继承父类的属性
子类将继承父类的所有的属性和方法
41.在java中,下面选项中关于继承的说法错误的是()[单选题]
继承可以描述类与类之间的关系
继承实现了代码的重用
具有继承关系的子类和父类层次结构更加清晰
子类中可以重写父类中的所有方法(正确答案)
42.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()[单选题]
C可以继承了B中的成员,同样也可以继承了A中的成员(正确答案)
C只继承了B中的成员
C只继承了A中的成员
C不能继承A或B中的成员
43.在Java语言中,下列关于类的继承的实现描述,正确的是()[单选题]
一个类可以继承多个父类
一个类可以具有多个子类(正确答案)
子类一定比父类有更多的成员方法
以上描述都不正确
44.在java中,继承所使用的关键字是()[单选题]
implements
import
extends(正确答案)
abstract
45.下面对Java中方法重载的描述,错误的是()
重载的各方法必须方法名称相同
重载的各方法必须参数数量不同(正确答案)
重载的各方法必须参数类型不同(正确答案)
重载的各方法必须有相同的返回值(正确答案)
46.下面对Java中方法重写的描述,错误的是()[单选题]
子类重写父类的方法(正确答案)
重写方法的参数数量可以不同
重写方法的参数类型可以不同
重写方法的返回值可以不同
47.在Java中,以下关于方法重载和方法重写描述正确的是()[单选题]
方法重载和方法的重写实现的功能相同
方法重载出现在父子关系中,方法重写是在同一类中
方法重载的返回值类型必须一致,参数项必须不同
方法重写的返回值类型必须相同(正确答案)
48.在java中,关于instanceof运算符的用法描述错误的是()
instanceof运算符是用来在运行时指出对象是否是特定类的一个实例(正确答案)
instanceof的返回值是一个布尔值(正确答案)
instanceof运算符前面操作数的编译时的类型要么与后面的类相同,要么与后面的类具有父子继承关系,否则会引起编译错误(正确答案)
以上描述都正确(正确答案)
49.面向对象的三大特性为()
封装(正确答案)
继承(正确答案)
多态(正确答案)
重载
50.以下关于abstract的说法,正确的是()[单选题]
abstract只能修饰类
abstract只能修饰方法
抽象类中必须有abstract方法
abstract方法所在的类一定是抽象类(正确答案)
51.下面关于抽象类与抽象方法描述正确的选项有()
抽象类不能被实例化(正确答案)
抽象类不能被继承
抽象方法不能与final、private和static复合使用(正确答案)
抽象方法可以与public、protected复合使用(正确答案)
52.以下关于final关键字的使用描述错误的是()[单选题]
final关键字可以用于修饰类
final关键字可以用于修饰变量
final关键字可以用于修饰方法
被final修饰的类可以被继承(正确答案)
53.以下关于被final修饰的对象,说法错误的是()[单选题]
final修饰的成员变量一旦赋初始值就不能被改变
final修饰的类不能被继承
final修饰的方法可以被继承
final修饰的方法可以被重写(正确答案)
54.在java中,定义接口的关键字是()[单选题]
class
interface(正确答案)
method
object
55.以下关于接口对象的说法中正确的是()
接口对象只能等于实现该接口的类的对象(正确答案)
接口只能被类实现,不能用来声明对象(正确答案)
接口对象可以通过当前接口用关键词new创建
接口对象可以等于任何类的对象
56.下列关于接口的说法不正确的是()[单选题]
接口中只能定义公有的、静态的常量
接口中的方法只能是公有的抽象方法
用于定义接口的关键字是implements(正确答案)
接口只能继承多个接口,接口不能继承类,也不能实现其他接口
57.在java中,实现接口的关键字是()[单选题]
extends
interface
implements(正确答案)
import
58.不能用来修饰interface的有()
private(正确答案)
public
protected(正确答案)
static(正确答案)
59.以下关于抽象类与接口描述正确的选项有()
抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。
但是一个类却可以实现多个接口(正确答案)
在抽象类中可以没有抽象方法(正确答案)
接口中只能包含抽象方法,而抽象类则可以包含普通方法(正确答案)
接口中定义的变量默认是publicstaticfinal型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值(正确答案)
60.以下关于抽象类与接口描述正确的选项有()
抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。
但是一个类却可以实现多个接口(正确答案)
在抽象类中可以没有抽象方法(正确答案)
接口中只能包含抽象方法,而抽象类则可以包含普通方法(正确答案)
接口中定义的变量默认是publicstaticfinal型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值(正确答案)
61.在JAVA中,对于抽象类和接口的使用下面说法错误的是()[单选题]
抽象类不能被实例化
实现接口的关键字implements
如果一个类实现了接口的所有方法,则该类一定是抽像类(正确答案)
接口不可以实例化对象
62.关于面向接口编程的描述错误的是()[单选题]
降低程序的耦合性
易于系统的扩展
不易于系统的维护(正确答案)
以上描述均不正确
63.关于异常,下列说法中正确的是()[单选题]
一旦程序运行,异常将被创建
为了保证程序的运行速度,要尽量避免减少异常控制
异常是一种对象(正确答案)
以上说法都不对
64.Java中所有错误和异常的父类是()[单选题]
Throwable类(正确答案)
Error类
Exeception类
ThrowableError
65.以下哪一个是空指针异常()[单选题]
java.lang.ClassNotFoundException
java.lang.NullPointerException(正确答案)
java.lang.NumberFormatException
java.lang.IndexOutOfBoundsException
66.以下哪一个是数学运算异常()[单选题]
java.lang.ClassCastException
java.lang.FileNotFoundException
java.lang.NoSuchMethodException
java.lang.ArithmeticException(正确答案)
67.在Java中,java.lang.NoClassDefFoundException是()异常[单选题]
内存不足错误
未找到类定义错误(正确答案)
实例化异常
文件未找到异常
68.给定如下所示的JAVA代码,则运行时,会产生()类型的异常Strings=null;[单选题]
ArithmeticException
NullPointerException(正确答案)
IOException
ClassNotFoundException
69.s.concat("abc");[单选题]
数组索引越界异常(正确答案)
对象转换异常
操作错误异常
实例化异常
70.在Java中,IndexOutOfBoundsException是()异常[单选题]
try(正确答案)
catch
throw
throws
71.在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()
Java的异常处理机制可以保障程序具有良好的容错性,使程序健壮性更高(正确答案)
异常处理使程序具有更好的可读性(正确答案)
在Java中可以使用“try-catch”语句处理异常(正确答案)
方法声明时可以使用throws关键字声明抛出异常(正确答案)
72.关于Java异常处理的描述正确的是()[单选题]
try-catch捕获异常可以使用finally回收资源
try语句不能独立存在,其后至少要有一个catch语句块或finally语句块
finally语句块不是必须存在的,可以根据需求决定是否添加
如果try代码块没有出现异常,finally语句块不会被执行(正确答案)
73.以下关于使用try-catch-finally处理异常描述错误的是()[单选题]
Object(正确答案)
Vector
String
KeyEvent
74.下列选项中,哪个是java语言所有类的父类()
object类中定义了一些重要的成员函数和变量,以方便JAVA类的使用(正确答案)
object类是所有其他JAVA类的直接或间接父类(正确答案)
如果一个类已经有了父类,那么这个类同时继承了object类,也就是说,这时候这个类实际上有2个父类
由于JAVA中的类是单继承的,因此所有的类以object类为根形成了一棵继承树(正确答案)
75.关于object类,以下描述中正确的有()[单选题]
equals(Objectobj)
getClass()
toString()
trim()(正确答案)
76.在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法[单选题]
equals(正确答案)
hashCode
toString
getClass
77.Object类的()方法判断指定对象与该对象是否相等[单选题]
String类不是final类故可以继承
String类不是final类故不可继承
String类是final类故不可继承(正确答案)
String类final类故可以继承
78.关于java.lang.String类,以下描述正确的一项是()
String()创建一个内容为空的字符串(正确答案)
String(Stringvalue)初始化一个新创建的String对象,使其表示一个与参数相同的字符序列(正确答案)
String(byte[]bytes,Charsetcharset)使用指定的字符编码,将指定的byte[]数组构造成一个字符串(正确答案)
String(char[]char)将制定的char[]数组构造成一个字符串(正确答案)
79.关于String类的构造方法描述正确的选项有()[单选题]
equals(String)
trim()
append()(正确答案)
indexOf()
80.以下不是String类提供的合法的方法的是()[单选题]
"abc"
"abcd"
‘c’
‘d’(正确答案)
81.字符串string="abcde",string.charAt(3)的返回值是()[单选题]
concat()方法的返回值是一个boolean值
concat()方法的返回值是一个int值
concat()方法是用于判断两个字符串的值是否相等
concat()方法是用于将一个字符串与指定字符串进行连接返回一个新的字符串(正确答案)
82.String类的concat()方法描述正确的是()[单选题]
String类的equals方法用于判断两个字符串的值是否相等
String类的equals方法的返回值为一个String(正确答案)
String类的equals方法的返回值是一个boolean
String类的equals方法重写了Object的equals方法
83.关于String类的equals方法描述错误的是()[单选题]
int(正确答案)
double
float
boolean
84.Java语言中,String类中的indexOf()方法返回值的类型是()
Stringtemp[]=newString{“a”,”b”,”c”};
Stringtemp[]={“a”,”b”,”c”};(正确答案)
Stringtemp={“a”,”b”,”c”};
String[]temp={“a”,”b”,”c”};(正确答案)
85.下面哪个是正确的()
s[10]为””
s[9]为null(正确答案)
s[0]为未定义
s.length为10(正确答案)
86.执行下列代码后,哪个结论是正确的()String[]s=newString[10];[单选题]
getBytes()(正确答案)