gpt4 book ai didi

java - Java 中的一个简单 Thread 场景,其中 Runnable 接口(interface)不需要由 Thread 实现类实现

转载 作者:行者123 更新时间:2023-12-01 06:47:08 27 4
gpt4 key购买 nike

让我们看一下下面的代码,它运行正常。

final class DemoThread
{
public void temp()
{
new Thread(new Runnable()
{
public void run()
{
System.out.println( "Isn't it great ?" ) ;
}
} ) .start() ;
}
}

final public class Main
{
public static void main(String[] args)
{
new DemoThread().temp();
}
}

它工作正常,并在控制台上显示消息这不是很棒吗?。这里唯一的问题是,为什么 Runnable 接口(interface)不需要由类 DemoThread 实现?

最佳答案

Runnable 正在由 anonymous inner class 实现在 temp 方法中:

new Thread(new Runnable()
{
public void run()
{
System.out.println( "Isn't it great ?" ) ;
}
} ) .start() ;

鉴于 DemoThread 的实例被传递到 Thread 构造函数中,无论它是否实现 Runnable 与线程的运行方式完全正交。

您的代码类似于:

final class DemoThread
{
public void temp()
{
new Thread(new Anonymous()).start();
}

private class Anonymous implements Runnable
{
public void run()
{
System.out.println( "Isn't it great ?" ) ;
}
}
}

这对你来说是不是更清楚了?

关于java - Java 中的一个简单 Thread 场景,其中 Runnable 接口(interface)不需要由 Thread 实现类实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8040390/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com