黑马程序员技术交流社区

标题: 请问为什么这个线程操作打印不了传入的线程名 [打印本页]

作者: rick1991chen    时间: 2015-4-19 22:28
标题: 请问为什么这个线程操作打印不了传入的线程名
本帖最后由 rick1991chen 于 2015-4-19 22:49 编辑

class Test extends Thread //自定线程子类
{
        private String name;//
        Test(String name)//构造函数传入名字
        {
                this.name = name;
        }
        public void run() //自定覆盖run方法
        {
                for (int x=0;x<60 ;x++ )
                {
                        System.out.println(this.getName()+"..run.."+x); // 将传入的名称用对象调用输出
                }
        }
}
class  ThreadTest
{
        public static void main(String[] args)
        {
                Test t1 = new Test("one"); //构造函数传入名字
                Test t2 = new Test("two");
                t1.start();
                t2.start();
               
                for (int x=0;x<60 ;x++ )
                {
                        System.out.println("");
                }
        }
}


thread.pic1.JPG (20.77 KB, 下载次数: 104)

thread.pic1.JPG

作者: 突然世界晴    时间: 2015-4-19 22:36
本帖最后由 突然世界晴 于 2015-4-19 22:38 编辑

首先你的类中没有getName方法。
this.getName(),这个调用父类的方法,
你在构造函数传递的name没有作用的。
然后getName方法是父类final方法你不能重写

作者: rick1991chen    时间: 2015-4-19 22:39
突然世界晴 发表于 2015-4-19 22:36
首先你的类中没有getName方法。
this.getName(),这个调用父类的方法,
你在构造函数传递的name没有作用的 ...

嗯 突然想起来了,这个父类方法没有覆盖,传进的值没有用 :) 多谢
作者: 突然世界晴    时间: 2015-4-19 22:41
你要么另外定义方法 ,不能覆盖。
要么
  1. class Test extends Thread //自定线程子类
  2. {
  3.       //   private String name;//
  4.          Test(String name)//构造函数传入名字
  5.         {
  6.                 //调用父类设置方法
  7.                  this.setName(name);
  8.          }
  9.          public void run()
  10.          {
  11.                  for (int x=0;x<60 ;x++ )
  12.                  {   
  13.                          //调用父类get方法获取Name
  14.                          System.out.println(this.getName()+"..run.."+x); // 将传入的名称用对象调用输出
  15.                 }
  16.          }
  17. }
复制代码

作者: rick1991chen    时间: 2015-4-19 22:44
突然世界晴 发表于 2015-4-19 22:41
你要么另外定义方法 ,不能覆盖。
要么

嗯嗯 对用set get,直接重写getName也是没用




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2