如何可以使Java的Runnable接口中的run方法声明异常?

如题所述

第1个回答  2011-05-24
你可以比较一下创建线程的两个方法,继承Thread类和实现Runnable接口:
① class A extends Thread }
main()
② class A implements Runnable }
main()
注意看②里面的new Thread,你说的对,单独A实现了Runnable是没有多线程的功能的,必须new Thread创建线程,然后将A的实例作为参数产给它,这样和Thread合起来才实现了线程的功能。
这两种方法是面向对象的两种设计思想的体现,即继承和组合,①是继承,将Thread继承过来,加上A自己的东西(run方法)构成完整的线程,②是组合,将Thread和A组合起来,构成线程。面向对象的原则是:尽量用组合替代继承,所以推荐第二种方法。
追问

你说的很对,但是,你还是没有回答我的问题,你只是在讲线程的实现方法。
谢谢...

本回答被网友采纳
第2个回答  2011-05-18
调用interrput追问

可以具体一点吗?

追答

继承了Runnable借口的类在起动线程时一般会把对象的引用传递给一个Thread对象的构造函数,Thread类有start()启动线程的方法,自然也有interrupt()中断该线程的方法,如果该线程还在运行,而你调用了interrupt()方法将它中断,则该线程会抛出一个Interrupted异常!就这么简单!

追问

答非所问! 我问的是:如何可以使Java的Runnable接口中的run方法声明异常,在别的方法中声明或抛出异常。

追答

异常是不能跨越线程来捕获的!劝你再把书本多看几遍!

相似回答