请问其中super.getName()是什么意思?感激不尽!

发布网友 发布时间:2022-04-26 23:47

我来回答

5个回答

热心网友 时间:2022-06-20 09:55

super 关键字是指定 调用父类方法.

因为你继承了 Thread 这个类.所以你的MyThread类有了getName() 方法.

Thread 类是线程类,里面有个 getName() 的方法,

此方法的意思是获取当前线程的名字。如果你没有自己设置,java虚拟机会给你自动分配一个。

以下是 java Api 文档的说明.

public final String getName() 返回该线程的名称。

多看看文档很有好处的,即使是中文的。

热心网友 时间:2022-06-20 09:56

这里super是多余的,删掉效果也一样
如果Myhread有重写getName方法,那么 super.getName()中的super才有作用
意思是调用父类中原始的那个getName方法,而不是本类中重写的那个追问但是程序中并没有指定父类的name属性值啊!但是运行结果为什么是Thread-0呢??

追答你没有指定,父类里面指定了。默认的就是这个

热心网友 时间:2022-06-20 09:56

在Java中,this通常指当前对象,super则指父类的。super.getName()就是从父类获取name的属性值。追问但是程序中并没有指定父类的name属性值啊!但是运行结果为什么是Thread-0呢??

追答你不是继承了Thread吗?就是他的。

热心网友 时间:2022-06-20 09:57

super()是java中的关键字,意思是继承父类中的一些属性或者方法。

热心网友 时间:2022-06-20 09:57

super.getNmae 是在Thread 多线程中实现的封装的方法,返回多线程的名字。追问但是程序中并没有指定父类的name属性值啊!但是运行结果为什么是Thread-0呢??

追答在多线程构造方法中,可以自己指定线程的名称,当然不指定就是按照Thread-0 一直下去,

Thread()分配新的 Thread 对象。 //你现在绝对是调用的这个方法在创建
Thread(Runnable target)分配新的 Thread 对象。 // 这个是Runnable
Thread(Runnable target, String name)分配新的 Thread 对象。 // 这个是接受Runnable,并附上名称
Thread(String name)分配新的 Thread 对象。 // 创建一个多线程,并为线程附上名称

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com