是否可以在构造函数中实现接口?
这个问题可能被认为是毫无意义的。但是,有没有人能够澄清我对这个问题的一些编码。我正在进行与解析相关的大学项目。所以我引用了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();
}
我们可以实现一个构造函数中的接口?(Thread类,Runnable接口).Could人帮助我理解它背后的概念或建议一些文章来学习这个概念? 在此先感谢...
在你的榜样,你不创建一个接口构造内。
的片段显示Runnable
一个匿名子类实现的。 匿名因为这个类的类型根本没有名字。
的new Runnable(...
语句创建于引用被传递给构造Thread(Runnable r)
匿名类和的实例的引用。
注 - 我们可以做同样的三个步骤,这是一个比较容易理解:
// create an anonymous implementation of Runnable
Runnable r = new Runnable() {
@Override
public void run() {
// the run implementation
}
};
// create a Thread
Thread t = new Thread(r);
// start the Thread -> will call the run method from the Runnable
t.start();
你声明了一个匿名类,“从继承”(或工具,在这种情况下)一个Runnable。
线程仅使用现有的线程构造函数(接受Runnable的线程构造函数)。匿名类是Java的一部分(已经很长一段时间):http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#252986
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();
new Runnable() {...}
正在申报的Anonymous Inner Classes。
只有一个实现Runnable的匿名类。 'Thread'在JDK中声明。 ;) – 2011-05-04 14:37:47
我想了解更多关于我开始的匿名课程,感谢您的支持。 – Arun 2011-05-04 14:44:49
我想学习更多关于我开始的匿名课程。感谢您的支持。 – Arun 2011-05-04 14:44:18