黑马程序员技术交流社区
标题:
实现runnable 覆写run方法时为什么不能直接throws
[打印本页]
作者:
liuch111
时间:
2015-7-13 10:05
标题:
实现runnable 覆写run方法时为什么不能直接throws
老毕的视频中说 接口中只能用try能不能抛,,why!
作者:
liuch111
时间:
2015-7-13 10:07
public class DeadLock {
public static void main(String[] args) {
Object g =new Object();
Object m =new Object();
//访问同一个货物资源
new Goods(m,g).start();
}
}
class Goods extends Thread{
private Object goods =new Object();
private Object money =new Object();
public Goods(){
}
public Goods(Object goods,Object money){
super();
this.goods =goods;
this.money =money;
}
public void run() //
这里为什么不能直接throws呢???
{
synchronized (goods) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class Mondy extends Thread{
}
作者:
825176857
时间:
2015-7-13 10:29
自己加个抛就知道了,好像运行时在main里还要抛,自己加一下
作者:
耀阳圣尊
时间:
2015-7-13 10:52
因为Runnable是接口。你要是抛的话谁来解决呢?而且Runnable没有提供异常的解决方式。所以说只能try。具体的话,你可以看一下Runnable的源码。
作者:
帅帅loyal
时间:
2015-7-13 11:12
圣尊说的很对,听圣尊的,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2