3.4 小测验
我们通过一个小测验来测试一下你的Java知识,答案见附录A。如果你得分很高,祝贺你!如果你做得不怎么样,也不用失望,只需再阅读相关的部分,然后看看你是否能做得更好。
(1) 下面的代码能够通过编译吗?如果不能,是什么地方有问题?
import java.util.ArrayList;package com.example.quiz1;public class Question1 {}
a) 包名不对,因为包名不能包含数字。
b) ArrayList类不在java.util包中。
c) package语句必须放在import语句前面。
d) 以上说法都不对,这个文件能够通过编译。
(2) 下面的代码能够通过编译吗?如果不能,是什么地方有问题?
class A { }class B { }class C extends A, B {}
a) 类名不能只包含一个字母。
b) 在Java中,一个类不能继承(扩展)多个类。
c) 在一个Java源代码文件中,不能定义多个类。
d) 以上说法都不对,这个文件能够通过编译。
(3) 下述代码的哪部分很可能有问题(假设这些代码放在一个有效的方法中)?
String s1 = "String A";String s2 = "String B";if (s1 != s2) {// 其他代码……}
a) 程序员很可能想检查字符串的内容,因此应使用方法equals。
b) Java不支持运算符!=。
c) 在没有其他代码的情况下,无法判断这个代码片段是否存在逻辑错误。
d) 没什么问题,一切正常。
(4) 重写类或接口中的方法时,重写后的方法可随便决定要引发哪些异常吗?
a) 是。
b) 否。
(5) 下面的方法被调用时(假设已经将这个方法放到了正确的类中),将向控制台打印什么样的输出?
void testMethod() {try {System.out.println("A");throw new RuntimeException("Error!");} catch(Exception e) {System.out.println("C");return;} finally {System.out.println("D");}}
a) A和C。
b) A和D。
c) A、D和C。
d) A、C和D。
