2024年4月面向对象程序设计练习题库含参考答案解析
一、多选题(共20题,每题1分,共20分)
1.下列关于对象间类型转换的说法中,正确的是()
A、由new语句创建的父类对象不能转换为子类的对象
B、与基本数据类型的相互转换一样,对象的类型转换可通过自动转换或强制转换进行
C、有继承关系的两个类的对象之间,子类的对象转换为父类的对象,可自动转换也可以强制转换
D、无继承关系的两个类的对象之间试图转换时出现编译错误
正确答案:ABCD
答案解析:子类和父类之间的转换特点。
2.下面关于包装类的描述中,正确的是()
A、包装类即将基本数据封装成了对象
B、对于包装类型对象javaAPI提供了更多的操作功能
C、包装类可以用于在基本数据和字符串之间进行转换
D、包装类都是被final修饰的类
正确答案:ABCD
答案解析:以上四点均正确。C选项是我们在开发中最常用到的方法。
3.下列方法中,哪些方法是属于Collection接口()
A、put()
B、addLast()
C、remove()
D、retainAll()
正确答案:CD
答案解析:put()方法是map集合的方法、addLast()方法是LinkedList集合的方法。
4.以下哪些方法属于TreeSet集合的特有方法()。
A、ObjectpollLast()
B、Objectceiling(Objecto)
C、Objectfirst()
D、Objectlower(Objecto)
正确答案:ABCD
答案解析:TreeSet集合的特有方法包括:-first():返回此Set中当前第一个(最低)元素。-lower(Objecto):返回此Set中严格小于给定元素的最大元素;如果不存在这样的元素,则返回null。-ceiling(Objecto):返回此Set中大于等于给定元素的最小元素;如果不存在这样的元素,则返回null。-pollLast():移除并返回此Set中的最后一个元素;如果此Set为空,则返回null。
5.下列选项中,关于类的继承说法正确的是()
A、一个类的父类可以再去继承另外的一个类
B、一个类可以有多个直接父类
C、一个类只能有一个直接父类
D、多个类可以继承一个父类
正确答案:ACD
答案解析:一个类只能有一个直接父类,多个类可以继承一个父类,一个类的父类可以再去继承另外的父类。
6.下面选项中,可以和intmax(intA,intB,doublec)方法构成重载关系的是()
A、doublemax(inta,intb)
B、voidmax(inta,doublec,intb)
C、doublemax(doublea,doubleb)
D、intmax(intx,inty,doublez)
正确答案:AC
答案解析:方法的重载和返回值类型无关,它只需要满足两个条件,一是方法名相同,二是参数个数或参数类型不同。
7.下列选项中,哪些可以定义在类中()
A、类
B、成员变量
C、构造方法
D、成员方法
正确答案:ABCD
答案解析:类中可以定义成员变量、成员方法和构造方法,除此之外,在类中还可以定义类,在类中被定义的类是内部类。
8.默认情况下,使用FileOutputStream写数据时,下列说法中哪些是错误的()
A、当文件不存在时,会自动创建文件。
B、当文件不存在时,程序会报错。
C、当文件存在时,会覆盖原文件。
D、当文件存在时,会在原文件上追加数据。
正确答案:BD
答案解析:默认情况下,使用FileOutputStream写数据时,当文件不存在时,会自动创建文件。如果希望在已存在的文件内容之后追加新内容,则可使用FileOutputStream的构造函数FileOutputStream(StringfileName,booleanappend)来创建文件输出流对象,并把append参数的值设置为true。
9.下列选项中,关于File类中的listFiles()方法说法正确的是()
A、listFiles()方法返回一个File对象数组
B、listFiles()方法没有参数
C、listFiles()方法有一个可选参数
D、listFiles()方法可以得到所有子目录下的File类型对象
正确答案:ACD
答案解析:listFiles(FileNameFilterfilter).方法有一个可选参数,能够返回一个File对象数组。
10.下面关于字节流缓冲区的描述中,哪些是错误的()
A、字节流缓冲区只能用在文件输出流中。
B、字节流缓冲区的大小是可以自定义设置的。
C、字节流缓冲区的大小是1024。
D、字节流缓冲区只能用在