【精选资料】含参考答案浙江大学城市学院试卷Java高级程序设计 1011 1

_…__…__…__…__…__…__…__…__…_:…名…姓…… __…__…__…__…__…__…__…_:…号线..学… _…__…__…__…__…__…__ 订.__…__…:…级…班… …__…__装_..__…__…__…__…__…__…__…__…:…业…专… _…__…__…__…__…__…__…:…级…年……诚信应考 考出水平 考出风格

浙江大学城市学院

2010— 2011学年第一学期期末考试试卷

《 Java高级程序设计》

开课单位: 计算分院 ;考试形式:开卷;考试时间: 2011年 1月16日 所需时间: 120 分钟 题序 一 二 三 总 分 得分 评卷人

得分 一.__简答题_(本大题共_7__题,每题__5__分,共__35_分) 注意:回答问题尽量简明扼要。

1.多线程可以使用Runnable接口。是否可以认为,通过Runnable接口实现多线程的方式与Thread类没有任何关系?如果你认为有关系,那么Runnable实现类与Thread类是什么关系?请举例说明。

有关系;

Thread类实现了Runnable接口,因此可以扩展了Thread即实现了Runnable接口。

采用“Runnable实现类”方式需要构造一个新的Thread对象,并把Runnable实现类的实例作为参数传入Thread的构造器中——Thread(task: Runnable)。 举例: public class TestRunnable { public static void main(String[] args) { Thread thread = new Thread(new AnTask());

thread.start();

第 1 页 共 15 页

}

}

class AnTask implements Runnable { }

@Override public void run() { }

//do something

采用“扩展Thread类”方式无只需创建扩展Thread类的实例(无参构造)即可,但是不推荐使用这种方法,因为它将任务和运行任务的机制混在了一起。将任务从线程中分离出来是比较好的设计。 举例:

public class TestThread { }

class AnThread extends Thread {

@Override public void run() {

//do something

public static void main(String[] args) { }

Thread thread = new AnThread(); thread.start();

第 2 页 共 15 页

}

}

第 3 页 共 15 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4