让我们看一下下面的代码吧,它完全正常工作.
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();
}
}
Run Code Online (Sandbox Code Playgroud)
它工作正常并显示消息不是很好吗?在控制台上.这里唯一的问题是为什么Runnable接口不需要由类DemoThread实现?
Runnable正被执行匿名内部类的内temp方法:
new Thread(new Runnable()
{
public void run()
{
System.out.println( "Isn't it great ?" ) ;
}
} ) .start() ;
Run Code Online (Sandbox Code Playgroud)
鉴于实例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 ?" ) ;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这会让你更清楚吗?
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |