public static void main(String[] args) {
Thread myThread = new Thread("YOYO") {
public void run() {
Thread t = Thread.currentThread();
System.out.println(t.getName());
}
};
myThread.start();
}
任何人都可以解释线程类构造函数new Thread("YOYO")
的调用旁边的花括号代码块是什么类型的功能吗?据我所知,它不应该是匿名类,因为如果它是匿名类,Thread
旁边的括号应为空()
而不是("YOYO")
答案 0 :(得分:5)
根据Java docs:
匿名类表达式包含以下内容:
新运营商
要实现的接口的名称或要扩展的类。在此示例中,匿名类正在实现接口HelloWorld。
包含构造函数参数的括号,就像普通的类实例创建表达式一样。注意:实现时 一个接口,没有构造函数,所以你使用一对空 括号,如本例所示。
- 醇>
一个正文,它是一个类声明体。更具体地说,在正文中,方法声明是允许的,但语句不是。
Thread
是一个类,它包含constructor with a String
parameter,因此,这是一个有效的匿名类表达式。
答案 1 :(得分:3)
这是一个匿名的内部阶级..
" YOYO"不是名字,它只是你传递给构造函数的参数,就是全部。