// Runnable cannot instantiate
public class Thread4 {
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable());
}
}
//Runnable cannot instantiate
为什么呢?虽然在另一个程序中,它使用相同的代码进行实例化。
答案 0 :(得分:2)
Runnable
是一个接口,而不是一个类。为了实例化它,您必须提供一个实现接口的类(如果您使用的是Java 8或更高版本,则必须提供lambda表达式或方法引用)。
例如:
Thread t1 = new Thread(new Runnable() {public void run() {}});
这里我定义了一个实现Runnable
并创建该类实例的匿名类。
答案 1 :(得分:2)
直接您无法在新的主题()中传递新的Runnable()。您需要创建一个实现的类(例如:MyTestRunnable.java),它实现Runnable Interface并在新的Thread()中传递 new MyTestRunnable()。
public class MyTestRunnable implements Runnable {
public void run(){
System.out.println(" .... ");
}
}
public class Thread4 {
public static void main(String[] args) {
Thread t1 = new Thread(new MyTestRunnable());
}
}