在 Java7 API 参考(Java API 7)中有一个具有签名list()
的类函数:File
public String[] list(FilenameFilter filter)
接口在哪里FilenameFilter
。假设在程序中使用此函数如下所示:
String[] list = new File(directory).list(new FilenameFilter() {
@Override
public boolean accept(File f, String s)
{
return s.endsWith(".java");
}
});
如您所见,我们正在匿名实例化一个接口。
如果我错了但在 Java 中实例化一个有效的接口,请纠正我?
我之所以问这个问题是因为我认为接口不是可实例化的(因为接口没有构造函数),并且要使用接口,您必须通过一个类来实现该接口。那我们怎么可能在没有类实现的情况下实例化一个接口呢?
谁能帮我找出我的逻辑错误?