多线程
三种方式调用
1、新建一个HeroThread类继承(extends)Thread,然后复写run方法
Hero monkey = new Hero("猴子",100,5); Hero yase = new Hero("亚瑟",150,3); Hero bigmiss = new Hero("孙尚香",80,6); Hero luban = new Hero("鲁班",60,7); TestThread t1 = new TestThread(monkey,yase); public class TestThread extends Thread { public void run(){ while (h2.life>0){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } h1.attack(h2); } } }
新建HeroThread类,调用start()方法
HeroThread ht = new HeroThread(); ht.start();
2、新建类Battle,实现implements Runnable,复写run方法。
public class Battle implements Runnable{ private Hero h1; private Hero h2; public Battle(Hero h1,Hero h2){ this.h1 = h1; this.h2 = h2; } @Override public void run() {} }
借助一个线程对象的start()方法,才会启动一个新的线程。
所以,在创建Thread对象的时候,把battle1作为构造方法的参数传递进去,这个线程启动的时候,就会去执行battle1.run()方法了。
Thread t = new Thread(Battle b1); t.start();
3、匿名内部类
new Thread(){ public void run(){ // 战斗逻辑 }}.start();