我们可以创建接口的引用,但不能创建对象。但是我们如何才能将 new Runnable() 传递给 Thread 构造函数。据我所知,音乐会 new Class_Name() 是对象。
Thread t = new Thread(new Runnable(){});
我们可以创建接口的引用,但不能创建对象。但是我们如何才能将 new Runnable() 传递给 Thread 构造函数。据我所知,音乐会 new Class_Name() 是对象。
Thread t = new Thread(new Runnable(){});
这里使用的技巧称为匿名类。基本上,您正在创建一个实现Runnable
.
更好的例子是:
Thread t = new Thread(new Runnable(){
@Override
public void run() {
// Code here
}
});
我们可以创建接口的引用,但不能创建对象
这不是真的。
ClassA classa = new ClassA();
这将为 ClassA 创建一个新实例,whileclassa
是引用。
但是我们如何将 new Runnable() 传递给 Thread 构造函数
Thread t = new Thread(new Runnable(){});
这将创建一个线程的实例,t
引用在哪里。新的 Runnable(){} 称为匿名类。因为创建了一个实例,所以引用被传递给了构造函数,但是你不能在后面的代码中引用这个。
但是使用这一行你应该得到一个编译错误。您必须覆盖 run 方法。
Thread t = new Thread(new Runnable(){
@Override
public void run(){
}
});