Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未为Runnable类型定义方法start()_Java - Fatal编程技术网

Java 未为Runnable类型定义方法start()

Java 未为Runnable类型定义方法start(),java,Java,我正在用匿名类学习java 8, 我找不到启动方法, 我做错什么了吗 class Tester { void doWork() { Runnable r = new Runnable() { @Override public void run() { } };

我正在用匿名类学习java 8, 我找不到启动方法, 我做错什么了吗

class Tester {
    
    void doWork() {
        
        Runnable r = new Runnable() {

            @Override
            public void run() {
                                
            }
            
        };
        
        r.run();
        r.start(); // showing ERR The method start() is undefined for the type Runnable
    }
    
}
这个很好用

// Here we can extends any other class 
class Test extends Geeks implements Runnable { 
    public void run() 
    { 
        System.out.println("Run method executed by child Thread"); 
    } 
    public static void main(String[] args) 
    { 
        Test t = new Test(); 
        t.m1(); 
        Thread t1 = new Thread(t); 
        t1.start(); 
        System.out.println("Main method executed by main thread"); 
    } 
}

这是因为您需要启动线程,但只需要运行可运行程序

线程使其与当前执行的线程并行运行。runnable仅在当前线程中运行。您可以在创建线程并运行它时使用runnable预填充线程-线程中的start方法将调用run


您可以简单地进行测试t=新测试;t、 运行;它将在当前线程中执行。

您可以使用Thread代替Runnable

提供一个可运行的对象。Runnable接口定义了一个方法run,用于包含线程中执行的代码。可运行对象被传递给线程构造函数