法一:通过无参构造+setXxx()给线程起名字
1 package cn.itcast_03;
2
3 /*
4 *
5 * Thread类的方法:
6 * public final String getName() 获取线程对象的名称(放在需要被线程执行的代run()方法里面)
7 * public final void setName(String name) 设置线程对象的名称
8 */
9 public class MyThreadDemo {
10 public static void main(String[] args) {
11 // 创建线程对象
12 // 通过无参构造方法+setXxx()方法线程起名字
13 MyThread my1 = new MyThread();
14 MyThread my2 = new MyThread();
15 // 调用方法设置名称
16 my1.setName("林青霞");
17 my2.setName("刘意");
18 my1.start();
19 my2.start();
20 }
21 }
1 package cn.itcast_03;
2
3 public class MyThread extends Thread {
4 // 需要被线程执行的代码
5 @Override
6 public void run() {
7 for (int x = 0; x < 100; x++) {
8 System.out.println(getName() + ":" + x);
9 }
10 }
11 }
法二:通过带参构造方法给线程起名字
1 package cn.itcast_03;
2
3 /*
4 *
5 * Thread类的方法:
6 * public final String getName() 获取线程对象的名称(放在需要被线程执行的代run()方法里面)
7 * public final void setName(String name) 设置线程对象的名称
8 */
9 public class MyThreadDemo {
10 public static void main(String[] args) {
11 // 创建线程对象
12 // 通过带参构造方法给线程起名字
13 MyThread my1 = new MyThread("林青霞");
14 MyThread my2 = new MyThread("刘意");
15 my1.start();
16 my2.start();
17 }
18 }
1 package cn.itcast_03;
2
3 public class MyThread extends Thread {
4 public MyThread() {
5 super();
6 }
7
8 public MyThread(String name){
9 super(name);
10 }
11 // 需要被线程执行的代码
12 @Override
13 public void run() {
14 for (int x = 0; x < 100; x++) {
15 System.out.println(getName() + ":" + x);
16 }
17 }
18 }