因此,我一直在阅读有关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())。如果您为其所有方法提供实现,则也可以实现此接口。

09-13 11:42