我们可以创建接口的引用,但不能创建对象。但是我们如何将新的Runnable()传递给Thread构造函数。根据我的知识是Concert,新的Class_Name()是对象。
Thread t = new Thread(new Runnable(){});
答案 0 :(得分:3)
此处使用的技巧称为anonymous classes。基本上,您正在创建一个实现Runnable
的新匿名类的对象。
更好的例子是:
Thread t = new Thread(new Runnable(){
@Override
public void run() {
// Code here
}
});
答案 1 :(得分:1)
我们可以创建界面的引用,但不能创建对象
那不是真的。
ClassA classa = new ClassA();
这将为ClassA创建一个新实例,而classa
是参考。
但是我们如何将新的Runnable()传递给Thread构造函数
Thread t = new Thread(new Runnable(){});
这将创建一个Thread的实例,其中t
是引用。新的Runnable(){}称为anonymous class。因为创建了一个实例,所以引用会传递给构造函数,但是您不能在代码中稍后引用它。
但是使用这一行你应该得到一个编译错误。你必须覆盖run方法。
Thread t = new Thread(new Runnable(){
@Override
public void run(){
}
});