throw new IllegalAccessException(\}
public static void main(String args[]) { try {
throwMethod();
} catch (IllegalAccessException e) { System.out.println(\} } }
A.编译错 B.运行错
C.编译成功,但是没有输出结果 D.以上都不是 5. class X { Y b = new Y(); X() {
System.out.print(\} }
class Y { Y() {
System.out.print(\} }
public class Z extends X { Y y = new Y(); Z() {
System.out.print(\}
public static void main(String[] args) { new Z(); } }
A.Z B.YZ C.XYZ D.YXYZ
6. public class MyThread implements Runnable { String myString = \public void run() { this.myString = \}
public static void main(String[] args) { MyThread t = new MyThread(); new Thread(t).start(); for (int i=0; i < 10; i++)
System.out.print(t.myString);
} }
A. 打印yes yes yes yes yes yes B. 打印no no no no no no no no C. 打印yes no yes no ye no ye no D. 不确定 答案:
一、1. 错。final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器) 结束之前被赋予一个明确的值。可以修改为\。
2. 错。Ball ball = new Ball(\实际上是\Ball(\。在Ball类的Play()方法中,\
new Ball(\改变了ball的reference,所以编译时间错。 二、1.答案A 2.答案D 3.答案C 4.答案:A 5.答案D 6.答案D
第九单元 试题 一、填空题
1.创建包需要使用的关键字是______,而且该语句应该是整个“.java”文件的______。 2.按异常处理不同可分为捕获异常、声明异常和______ 三种。
3.Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常。
4.接口中的成员只有静态常量和______。
5.Throwable类是类库______包中的一个类,它派生了两个子类:______和______。 二、简答题
1.Error类和Exception类有什么区别? 2.接口和抽象类有什么区别? 3.什么是包?为什么要使用包?
三、阅读下面的程序,并将有错误的地方更正。 1. public class MyClass {
public static void main(String args[]) {
myMethod(); }
public void myMethod() throw MyException {
throws(new MyException()); } }
class MyException {
public String toString() {
return(\用户自定义的异常\} }
2.在空白处填上合适的语句。
public class ServerTimedOutException extends Exception {
private int port;
public ServerTimedOutException(String message, int port) {
super(message); this.port = port; }
public int getPort() {
return port; } }
class Client {
//在下行空白出填上声明抛弃ServerTimedOutException异常的语句 public void connectMe(String serverName) ________________________ {
int success;
int portToConnect = 80;
success = open(serverName, portToConnect); if (success == -1) {
//在下行空白处填上抛出ServerTimedOutException异常的语句
____________________________________________________________ } } }
答案:
一、1. Pakage、第一条语句 2.抛出异常 3. Catch 4.抽象方法
5.Java.lang、Error、Execption
二、1.答:Error类及Exception类是Throwable类的两个直接子类。Error类描述的是内部系统错误,包括动态链接失败、虚拟机错误等,Java程
序不做处理。Exception类描述的是程序和外部环境引起的错误,这些错误能通过程序捕获和处理,Exception类是Java程序中需要大量处理
的。
2.答:从本质上讲,接口是一种特殊的抽象类,然而它们又有区别: 第十单元 试题 一、简答题
1.什么是异常?为什么要进行异常处理? 2.简述异常处理的过程。 二、选择题
1. 下面( )是正确的接口。
A. interface A B. abstract interface A { {
Void print(){ }; print(); } }
C. abatract interface A D. interface A { {
Abstract void print(){ }; void print(); } }
2.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。 A. try子句 B. catch子句 C. finally子句 D. throw子句
3.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )。 A. 捕获异常 B. 抛出异常 C. 声明异常 D. 嵌套异常 4.关键字( )可以抛出异常? A. transient B. throws C. throw D. static
5.下面是一个有错的程序: 1 package payroll;
2 class EmployeeNames{
3 public static String[] names={\4 public static String[] getNames(){ 5 return names; 6 } 7 }
另一个文件 8 package client
9 import payroll.EmployeeNames;
10 public class TraderNames extends EmployeeNames{ 11 public String[] traders={\12 }
下面有四个改正项,哪个答案能改正程序?( ) A.8 package client;
B.2 protected class EmployeeNames{ C.1 package paryroll;
D.9 import payroll.EmployeeNames
6.
String str = \
StringBuffer buffer = new StringBuffer(str); if(str.equals(buffer)){
System.out.println(\}else{
System.out.println(\}
A. both are not equal B. both are equal C.编译错 D. 运行错 7. class Parent{
private void method1(){
System.out.println(\}
public void method2(){
System.out.println(\method1(); } }
class Child extends Parent{ public void method1(){
System.out.println(\
}
public static void main(String args[]){ Parent p = new Child(); p.method2(); } }
A. 编译错 B. 运行错
C. 打印parent’s method2() parent’s method1() D. 打印 parent’s method2() child’s method1() 8. 下面程序段的编译和运行的结果是什么? String s1 = new String(\String s2 = new String(\
if (s1==s2) System.out.println(\
if (s1.equals(s2)) System.out.println(\A. Same Equal B. Equals C. Same D. 编译错 9. 那一行的输出结果是false ? 1.public class MyClass 2.{
3. static String s1 = \4. public static void main(String args[]) 5. {