「java线程super」JAVA线程池
本篇文章给大家谈谈java线程super,以及JAVA线程池对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、下列选项中关于Java中super关键字的说法正确的是( )。
- 2、一下java线程代码中 public CustomThread1() { super("[CustomThread1] Thread"); }; 这种定义怎么解释
- 3、JAVA 线程中 super()问题
- 4、java小白求助 为什么要super(tname)才能修改线程名呢?
下列选项中关于Java中super关键字的说法正确的是( )。
答案是C。
这个问题应该是Java中的问题。当子类调用父类的构造函数的时候,就要通过(super。父类名称)来调用。所以super是指当前对象的父类。
Thread(ThreadGroupgroup,Runnabletarget,Stringname)分配新的Thread对象,以便将target作为其运行对象,将指定的name作为其名称,并作为group所引用的线程组的一员。
调用父类的属性
一个类中如果有intx属性,如果其子类中也定义了intx属性的话,在子类中调用父类的x属性,如果其子类中也定义了intx属性的话,在子类中调用父类的x属性时应用super.x=6,表示该x是引用的父类的属性,而要表示子类中的x属性的话,使用this.x.Java里在子类中用super调用父类构造函数时,调用函数必须放在子类的第一条语句的位置。
以上内容参考:百度百科-Java关键字super
一下java线程代码中 public CustomThread1() { super("[CustomThread1] Thread"); }; 这种定义怎么解释
Thread 有一个构造方法 : Thread(String threadName)。
CustomThread1 继承了Thread ,super("[CustomThread1] Thread") 的意思就是执行父类的构造方法,这样线程的名字就固定了,而不是那种随机生成的 [Thread-N],不便于调试与分析。
JAVA 线程中 super()问题
super(s)并不是构造父类出来!
MyThread2对象本身可以看做一个Thread,既它的父类对象
super(s)操作的其实还是你定义的对象t1!!!
并没有单独产生一个父类对象出来,
只是把他看做了一个父类,
并调用父类的方法来操作他!!!
java小白求助 为什么要super(tname)才能修改线程名呢?
把你的run方法中的this.getName()换成this.tName就不用super(tName)了。
this.getName()这个方法获得的是父类中的name值,和你自己定义的tName毫无关系,当然必须super(tName);//它的作用就是用你tName的值改变父类中的name的值
java线程super的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA线程池、java线程super的信息别忘了在本站进行查找喔。