Java线程练习2-5。烦请老师检查和指正~

来源:2-5 自由编程

Heijyu

2021-10-08 10:48:30

老师,我根据题目的要求,写了两种,不知道哪一个比较好呢?

第一种

package com.imooc.thread;

class MyThread extends Thread{
//重写run方法
@Override
public void run() {
for(int i=1; i<=10; i++) {
System.out.println("打印机正在打印" + i);
}
}
}

public class ThreadDemoOne {

public static void main(String[] args) {
MyThread mt = new MyThread();
mt.start();

}

}
第二种

​package com.imooc.thread;

class MyThreadOne extends Thread{
//无参构造方法
public MyThreadOne() {
}
//带参构造方法
public MyThreadOne(String name) {
super(name);
}
//重写run方法
@Override
public void run() {
for(int i=1; i<=10; i++) {
System.out.println(getName() + "正在打印" + i);
}
}
}

public class ThreadDemoTwo {

public static void main(String[] args) {
MyThreadOne mto = new MyThreadOne("打印机");
mto.start();

}

}
写回答

1回答

好帮手慕阿园

2021-10-08

同学你好,这两种都是可以的,只不过一个使用的是无参构造创建对象,输出语句中直接写了打印机,第二个使用的带参 构造,将名称传入后进行获取,原理上是一致的,从代码的简洁程度来看第一种更为简洁,不过都是可以完成题目效果的,很棒呐,继续加油

祝学习愉快~

0

0 学习 · 9886 问题

查看课程