给名字进行赋值有两种方式:
- 1,通过构造去赋值 Thread(String name) 直接在构造方法里面传一个名字就行了
- 2,通过set设置的方法进行赋值
package com.yy.threadmethod;public class Demo1_Name {public static void main(String[] args) {demo1(); //通过构造方法给name赋值 demo2(); //通过set设置的方法进行赋值demo3(); //通过set设置的方法进行赋值}private static void demo3() {//public final void setName(String name) 改变线程名称,使之与参数 name 相同。Thread t1 = new Thread(){ //父类引用指向子类对象public void run(){System.out.println(this.getName() + " xxxxx");}};//从new到; 整个都代表Thread的子类对象,相当于给Thread的子类对象起了个名字加 t1;这里的t1相当于demo2里面的thisThread t2 = new Thread(){public void run(){System.out.println(this.getName() + " qqqqq");}};//从new到; 整个都代表Thread的子类对象,相当于给Thread的子类对象起了个名字加 t2;这里的t2相当于demo2里面的thist1.setName("yy");t2.setName("wsq");t1.start();t2.start();}private static void demo2() {//public final void setName(String name) 改变线程名称,使之与参数 name 相同。new Thread(){public void run(){this.setName("黄贯中"); //这是条语句,语句必须写到方法里System.out.println(this.getName() + " xxxxx");}}.start();new Thread(){public void run(){this.setName("叶世荣"); //这是条语句,语句必须写到方法里System.out.println(this.getName() + " QQQQQQ");}}.start();}private static void demo1() { //使用匿名内部类//public Thread(String name) 参数:name - 新线程的名称。new Thread("黄家驹"){ //通过构造方法给name赋值,设置线程的名称public void run(){System.out.println(this.getName() + " aaaaaa"); //这里的this就相当于匿名内部类对象,this就是谁来调用我,我就代表谁,相当于使用匿名内部类对象来调用getName();从而获取线程名称}}.start(); //开启线程//这是一个线程,线程名称为:黄家驹new Thread("黄家强"){public void run(){System.out.println(this.getName() + " hjj");}}.start();//这也是一个线程,线程名称为:黄家强}//线程有默认的名称:Thread-0 后面的序号从0开始,以此类推
}