因此,我一直在阅读有关Android开发的教程,并且遇到了一些Java开发期间从未见过的东西(主要是学校作业):
Thread th = new Thread() {
public void run() {
if (iotdHandler == null) {
iotdHandler = new IotdHandler();
}
iotdHandler.processFeed(); resetDisplay(
iotdHandler.getTitle(),
iotdHandler.getDate(),
iotdHandler.getUrl(),
iotdHandler.getDescription());
dialog.dismiss();
}
};
th.start();
现在这本书说的是扩展线程,从某种意义上说,我有点理解它的作用,但是它没有遵循通常的方法来扩展Java中的普通类,如下所示:
public Class Dog extends Animal...
然后您可以继续并覆盖方法等。但是我的问题是,在引用新的Thread对象时,它实际上在做什么,但是同时在它之后创建一个方法,而我认为是在Thread类中重写某种方法呢?由于我不知道它叫什么,所以我无法真正搜索它,因此我为这个明显的问题表示歉意。任何帮助将非常感激。
最佳答案
修改Java书籍:)它称为anonymous inner class,最初是为了促进Java GUI开发(使用AWT / Swing)而引入的。由于Android UI开发遵循许多相同的模式,因此Android中经常使用它。
它的作用是实例化一个类(无需在单独的文件中定义它,等等),覆盖其某些方法(在本例中为run()
)。如果您为其所有方法提供实现,则也可以实现此接口。