黑马程序员技术交流社区

标题: 关于线程setName()的问题 [打印本页]

作者: 夕颜    时间: 2015-5-5 10:49
标题: 关于线程setName()的问题
老师讲课的时候说:设置线程名称的方法:构造函数或者setName(),我用setName()时提示:无法覆盖Thread中的setName(),被覆盖的方法为final。这个提示还不是说明不能用setName来设置线程的名称。如下是我的代码:

package ThreadTest;
class Thread1 extends Thread
{
        /*Thread1(String name)
        {
                super(name);
        }*/
        void setName(String name)
        {
                 this.name = name;
        }
        public void run()
        {
                for(int i=0;i<60;i++)
                {
                        System.out.println(Thread.currentThread().getName()+" run-----------"+i);
                }
               
        }
}
/*class Thread2 extends Thread
{
        public void run()
        {
                for(int i=0;i<60;i++)
                {
                        System.out.println(this.getName()+"我是第2个线程-----------"+i);
                }
        }
}*/
class ThreadTest
{
        public static void main(String[] args)
        {
                Thread1 t1 = new Thread1();//创建一个对象,即创建一个线程
                Thread1 t2 = new Thread1();
                t1.setName("one");
                t2.setName("two");
                t1.start();//开启并执行该线程的方法。如果为t1.run(),那只是简单的对象调用,线程创建了但是没有运行,该方法仍然在main方法中(主线程)
                t2.start();
                for(int i=0;i<60;i++)
                {
                        System.out.println("main run-----------"+i);
                }
        }
}

编译提示:
C:\Users\cecy\Desktop\javastudy\javacode\day11>javac -d . ThreadTest.java
ThreadTest.java:22: 错误: Thread1中的setName(String)无法覆盖Thread中的setName(St
ring)
        void setName(String name)
             ^
  被覆盖的方法为final
ThreadTest.java:24: 错误: name可以在Thread中访问private
                 this.name = name;
                     ^
ThreadTest.java:24: 错误: 不兼容的类型: String无法转换为char[]
                 this.name = name;
                             ^
3 个错误


作者: 殷俊    时间: 2015-5-5 12:43
要public呀,不然权限太小,当然覆盖不了{:3_54:}
作者: 夕颜    时间: 2015-5-5 13:06
殷俊 发表于 2015-5-5 12:43
要public呀,不然权限太小,当然覆盖不了

加了 还是提示被覆盖方法为final,




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