一 Java基础笔试题
01.01 java对象
1 在Java中,下面对于构造函数的描述正确的是(D)。(单项)
A) 类必须显示定义构造函数
B) 构造函数的返回类型是void (没有返回类型)
C) 构造函数和类有相同的名称,并且不能带任何参数
D) 一个类可以定义多个构造函数
2. 以下属于面向对象的特征的是( CD)。(两项)
A) 重载
B) 重写
C) 封装
D) 继承
面向对象的特征:封装 继承 多态
重载 构造函数
重写 继承方法重写
3. 多态的表现形式有( A ) 单项
A) 重写
B) 抽象
C) 继承
D) 封装
4 什么是接口和抽象类?
Interface
方法没有实现
abstract
继承的方法没有实现,部分自己的方法实现了
01.02 集合
1 Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是(C)(选择一项)
A) ArrayList和LinkedList均实现了List接口
B) ArrayList的访问速度比LinkedList快
C) 添加和删除元素时,ArrayList的表现更佳 删除后列表要进行自动收拢,要耗费资源
D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值 (TreeMap不可以)
2 在Java中,关于HashMap类的描述,以下描述错误的是( B)。
A) HashMap使用键/值得形式保存数据
B) HashMap 能够保证其中元素的顺序 TreeMap才可以对key进行排序
C) HashMap允许将null用作键
D) HashMap允许将null用作值
Day0201 父类新建对象
以下程序的运行结果是()
class Person { public Person() { System.out.println("this is a Person"); } } public class Teacher extends Person { private String name = "tom"; public Teacher() { System.out.println("this is a Person"); super(); } public static void main(String[] args) { Teacher teacher = new Teacher(); System.out.println(this.name); } }
A) this is a Person
this is a teacher
tom
B) this is a teacher
this is a Person
tom
C) 运行出错
D) 编译有两处错误
备注:this出现在非全局成员函数中
构造函数调用时要进行父类构造函数调用(顺序第一)
对象方法使用:根据new对象来确定使用范围的。
Day0202 Finally
下面代码运行结果是()
A) 编译异常
B) finally语句块 和是:43
C) 和是:43 finally语句块
D) catch语句块 和是:43
public class TestException { public int add(int a, int b) { try { return a + b; } catch (Exception e) { System.out.println("catch 语句块"); } finally { System.out.println("finally 语句块"); } return 0; } public static void main(String[] args) { TestException demo = new TestException(); System.out.println("和是:" + demo.add(9, 34)); }