java runnable接口_19.2.2 实现java.lang.Runnable接口

19.2.2  实现java.lang.Runnable接口

Java不允许一个类继承多个类,因此,一旦Monkey类继承了Thread类,就不能再继承其他的类。为了解决这一问题,Java提供了java.lang.Runnable接口,它有一个run()方法,它的定义如下:public void run();

以下例程19-6的Monkey类实现了Runnable接口,run()方法包含线程所执行的代码。如果Monkey类日后需要继承其他的类,如OtherClass类,也完全行得通:public class Monkey extends OtherClass implements Runnable{……}

例程19-6  Monkey.javapackage runimpl;

public class Monkey implements Runnable{

private String name;

public Monkey(String name){

this.name=name;

}

public void fight(){ /* 与敌人战斗 */

for(inti=1;i<=100;i++)

System.out.println(name+":打败第"+i+"个敌人");

}

public void run(){

fight();

}

}

以上Monkey类尽管为线程提供了run()方法,但它本身不是线程类,如果要创建一个专门执行Monkey类的run()方法的线程,需要按照如下方式创建一个Thread对象:Monkeym1=newMonkey("第1个小悟空");

//创建第1个小悟空对象

Threadt1=newThread(m1);

//创建第1个小悟空线程对象

t1.start();

//启动第1个小悟空线程

在Thread类中定义了如下形式的构造方法://当线程启动时,将执行参数runnable所引用对象的run()方法

Thread(Runnable runnable)

在以下例程19-7的War类中,main主线程创建了t1、t2和t3这3个小悟空线程对象。当启动这3个线程,将分别执行3个Monkey对象的run()方法。

例程19-7  War.javapackage runimpl;

public class War{

public static void main(String args[]){

Monkeym1=newMonkey("第1个小悟空");  //创建第1个小悟空对象

Monkeym2=newMonkey("第2个小悟空");  //创建第2个小悟空对象

Monkeym3=newMonkey("第3个小悟空");  //创建第3个小悟空对象

Threadt1=newThread(m1);  //创建第1个小悟空线程对象

Threadt2=newThread(m2);  //创建第2个小悟空线程对象

Threadt3=newThread(m3);  //创建第3个小悟空线程对象

t1.start();  //启动第1个小悟空线程

t2.start();  //启动第2个小悟空线程

t3.start();  //启动第3个小悟空线程

}

}

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值