面向对象程序设计(Java)作业

8、线程相关类及用法
答:API包括Thread类及Runnable接口,两种使用方式,一种使用继承方式,另一种使用关联方式,请分别写出代码。
求高手给我代码。。。。

第1个回答  2011-01-05
class MyThread implements Runnable{//使用runnable接口
int num=0;
//构造方法
public MyThread(){
Thread th=new Thread(this);//创建线程对象(传入this)
th.start();//开启线程
}
void Add(){
++num;
System.out.println("num="+num);
}
//必须重写run()方法
public void run() {
while(true){
//调用方法
Add();
//睡眠时间75毫秒
try {
Thread.sleep(75);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

}
}
//调用后便可以观察到效果
public class Main {
public static void main(String[] args) {
MyThread mth=new MyThread();
}
}

//以后开启线程中大多数都是使用Runnable的形式,因为Java不支持多继承,一旦继承Thread类后就无法继承别的类了
第2个回答  2011-01-05
public class TestThread {
public static void main(String[] args) {
Thread t1 = new T1();
t1.start();
T2 t2 = new T2();
t2.run();
}
}

class T1 extends Thread {
@Override
public void run() {
for(int i = 0 ;i <1000 ;i++) {
System.out.println("t1 run :" + i);
}
}

}

class T2 implements Runnable {

@Override
public void run() {
for(int i = 0 ;i <100 ;i++) {
System.out.println("t2 run :" + i);
}
}
}
第3个回答  2011-01-05
nan125001930说的对。
@Override是重写方法,继承和实现接口都得重写run方法,把你想让线程做的事情写在run方法里就OK了。
第4个回答  2011-01-05
楼上正解
第一个是通过继承Thread类
另一个是实现接口 Runnable
为了实现多态性,建议使用Runnable 接口
第5个回答  2011-01-10
这书主要是围绕 对象的抽象原则,对象的交互概念以及各种方法的使用,讲的挺不错的,不管是初学还是工作了,都可以看这本书,也可以当手册用。

,其中包括了补充的教学资源以及Java代码
相似回答