一,不定项选择题(每小题3分,共15题,总计45分)
1.下面哪些是合法的变量名? ()
A.2variable
B..variable2
C.._whatavariable
D._3_
E.$anothervar F.#myvar
2.请问 “abcd” instanceofObject返回的值是? ()
A. “abcd”
B. true
C. false
D. String
3.下面说法正确的是:()
A. 如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);
B. 如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)
C. 如果源代码中有main()方法,则该方法必须被放在代码的第一行
D. 如果某文件的源代码中定义了一个public的接口,接口名和文件名可以不同。
4.下面有关方法覆盖说法不正确的是:()
A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值
B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;
C. 覆盖的方法不能比被覆盖的方法抛出更多的异常
D. 覆盖的方法一定不能是private的
5.一个Java程序运行从上到下的环境次序是()
A.操作系统、Java程序、JRE/JVM、硬件
B.JRE/JVM、Java程序、硬件、操作系统
C.Java程序、JRE/JVM、操作系统、硬件
D.Java程序、操作系统、JRE/JVM、硬件
6.下面选项中哪个关键字可以用来修饰接口中的变量和方法?()
A. static
B. private
C. synchronized D. protected
7.下面代码段中:()
String s=”abcde”;
System.out.println(s.charA.t(4));
A. d
B. e
C. 什么都没有,抛出ArrayIndexOutOfB.ondsException
D. 代码编译不成功,因为charA.t()方法不属于String类
8.下面哪种是正确的创建Map集合的方式:()
A. Map m=new Map();
B. Map m=new Map(initcapacity, increment capacity);
C. Map m=new Map(new Collection());
D. Map是接口,所以不能实例化。
9.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是? ()
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B. 可以被两种类访问和引用:该类本身、该类的所有子类
C. 只能被该类自身所访问和修改
D.只能被同一个包中的类访问
10.下列有关继承的说法。正确的是:()
A. 子类能继承父类的所有方法和状态;B.
子类能继承父类的非私有方法和状态
C. 子类只能继承父类public方法和状态
D. 子类能继承父类的方法,而不是状态。
11.对于构造方法,下列叙述正确的是:()
A. 构造方法的方法名必须与类名相同;
B. 构造方法必须用void申明返回类型
C. 构造方法可以被程序调用
D. 若编程人员没再类中定义构造方法,程序将报错。
12.为了区分类中重载的同名的不同的方法,要求:()
A. 采用不同的形式参数列表
B. 返回值得数据类型不同
C. 调用时用类名或者对象名做前缀
D. 参数名不同
13.下面是有关子类继承父类构造函数的描述,其中正确的是:()
A. 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B. 子类无条件的继承父类不含参数的构造函数
C. 子类必须通过super()关键字调用父类的构造函数
D. 子类无法继承父类的构造函数。
14.下列说法中,正确的是:()
A. 类是变量和方法的集合体
B. 数组是无序数据的集合
C. 抽象类可以实例化
D. 类成员数据必须是公有的
15.代码段如下:()
public class Test { public static voidmain(String args[]) { class Foo { public int i = 3; } Object o = (Object)newFoo(); Foo foo = (Foo)o; System.out.println(“i = “+ foo.i); } }
上述程序运行后的结果是:
A. i=3;
B. 编译失败
C. 第6行抛出ClassCastException
D. 第7行抛出ClassCastException
二,填空题
(每小题2分,共5题,总计10分)
1.请问构造函数、成员变量初始化以及静态成员变量初始化三者的先后顺序是_______。
2.用于将一个类修饰为最终类的关键字是______。用于声明一个类为抽象类的关键字是________
3.java基本数据类型中整型,字符型分别占用字节数为______,_______.
4.java中提供了两种用于多态的机制 _________,__________.
5.一般有两种用于创建线程对象的方法,一是_____,二是________
三,问答题
(每小题10分,共5题,总计55分)
1.面向对象的特征有哪些方面?
2.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类?
3.String and StringBuffer的区别?
4.说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的区别?
5.描述final,finally, finalize的区别?
四,附加题
(每小题10分,共2题,总计20分)
1.排序都有哪几种方法?请列举。用JAVA实现一个插入排序?
2.编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"?