日期:2014-05-20  浏览次数:20724 次

问个很简单的java问题
。。。。。
。。。。
new Thread(mt1).star();//启动线程
//mt2.star() 启动线程

第一句的这么写是什么意思???
代码如下。

------解决方案--------------------
public Thread(Runnable target)

用了Thread的这个构造方法
------解决方案--------------------
new Thread(mt1).star();//启动线程 run()方法


------解决方案--------------------
类MyThread 实现了Runnable接口
1 接口的设计解决了java只能单继承的缺点,可以实现多个接口来实现java的多继承
 2 实现某个接口必须覆写其中的所有方法,当然也可以是一个空的实现(方法体为空没有任何作用)
 3 楼主也许会问了空实现有什么用呢,这就是java的特殊设计,通常的是接口在最上面,下面会有一个这个接口的实现类,有时候这个实现类也是一个空的实现,没有任何方作用!!!编程人员只需要实现那个空的方法,覆写其中自己需要方法的就可以了~~
为什么要这样做呢?原因就是接口是一个抽象的概念,与具体的底层、实现都无关,打个比方,现在的网络编程都是与HTTP协议相关的,如果将来有新的协议出现就只要实现这个接口就可以了,完全不用做任何修改就可以把新的协议容纳进来
总结一下,接口就是一个物体的抽象,规定了这个物体所有的行为方法,与具体的实现无关,这正体现了抽象的概念~~