我想减少以下代码行。不必声明该类,然后创建它的实例来运行 run 方法。应该可以编写代码,以便您可以定义类并将其实例创建为一个构造。我仍然需要 runOnUiThread 来实际运行它,但我正在寻找一种结合类定义和实例化的简洁方法。我在某处看过它,但不记得它是如何完成的:
class OnRunnableCompleted implements Runnable
{
@Override
public void run()
{
}
}
OnRunnableCompleted onRunnableCompleted = new OnRunnableCompleted();
runOnUiThread(onRunnableCompleted);
最佳答案
runOnUiThread(new Runnable() { public void run() {} });
这会创建一个 anonymous class它实现了 Runnable
接口(interface)并将抽象的 run()
方法重写为空操作。
匿名类的一般形式是
new Name(superCtorParam0, superCtorParam1) {
member0;
member1;
}
在哪里
Name
是要扩展/实现的接口(interface)或类的名称,superCtorParam
0...n 是Name
的构造函数的参数member
0...n 是匿名类的字段、方法、初始化器、内部类,就像在任何其他类声明中一样
关于java - 如何定义一个类并将其实例创建为一个构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17481588/