0 java multithreading interface
有人在我之前处理我的代码,创建了一些方法并将Runnable作为参数传递,更有可能:
void myMethod(Runnable runnable){ runnable.run(); }
Run Code Online (Sandbox Code Playgroud)
然后从主要调用myMethod看起来像:
public static void main(String args[])
{ try
{ myMethod(new Runnable(){ public void run() { //do something...; }}); }
catch (Throwable t) { } }
Run Code Online (Sandbox Code Playgroud)
因此,要向myMethod提供参数,我需要实例化实现Runnable的(在这种情况下是匿名)类的对象.
我的问题是:在这个例子中是否有必要使用Runnable?我可以使用任何不同的界面吗?我的意思是我可以使用单一方法创建新界面,即
interface MyInterface{ void doThis(); }
Run Code Online (Sandbox Code Playgroud)
然后改变myMethod的外观: void myMethod(MyInterface myObject){ myObject.doThis(); }
客户当然也是:
public static void main(String args[]) {
try { myMethod(new MyInterface (){ public void doThis()
{ //do something...; }}); }
catch (Throwable t) { } }
Run Code Online (Sandbox Code Playgroud)
或者也许是关于Runnable的东西?!