是否可以在构造函数中实现接口?

Aru*_*run 0 java

这个问题可能会毫无意义.但是,任何人都可以向我澄清我对这个问题的编码.我正在进行与解析相关的大学项目.所以我在推荐HtmlCleaner.我被这个编码困扰了.

final CleanerProperties props = new CleanerProperties();
final HtmlCleaner htmlCleaner = new HtmlCleaner(props);
final SimpleHtmlSerializer htmlSerializer = 
    new SimpleHtmlSerializer(props);

// make 10 threads using the same cleaner and the same serializer 
for (int i = 1; i <= 10; i++) {
    final String url = "http://search.eim.ebay.eu/Art/2-1/?en=100&ep=" + i;
    final String fileName = "c:/temp/ebay_art" + i + ".xml";
    new Thread(new Runnable() {
        public void run() {
            try {
                TagNode tagNode = htmlCleaner.clean(new URL(url));
                htmlSerializer.writeToFile(tagNode, fileName, "utf-8");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }).start();
}
Run Code Online (Sandbox Code Playgroud)

我们可以在构造函数中实现一个接口吗?(Thread类,Runnable接口).是否有人可以帮助我理解它背后的概念或建议一些文章来研究这个概念?提前致谢...

Jos*_*ger 5

您声明一个匿名类"继承"(或实现,在本例中为实现)Runnable.

Thread只是使用现有的Thread构造函数(一个接受Runnable的构造函数).匿名类是Java的一部分(并且已经存在很长时间了):http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#252986