我正在关注这个Swing教程,并且遇到了以下代码片段:
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
EventQueue.invokeLater
参数内部发生了什么?
invokeLater
需要一个类型的参数Runnable
,即实现该Runnable
接口的类的实例。在此示例中,此方法接收实现的匿名类的实例Runnable
。
Runnable
只有一个方法-run
所以所有匿名类实例必须实现的就是该run
方法。
在Java 8中,使用lambda表达式的语法更短:
EventQueue.invokeLater(
() -> {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句