【发布时间】:2013-07-04 22:42:35
【问题描述】:
在 Java7 API 参考 (Java API 7) 中,File 类的函数 list() 具有签名:
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 中实例化一个有效的接口,请纠正我?
我之所以问这个问题是因为我认为接口是不可实例化的(因为接口没有构造函数),并且要使用接口,您必须通过类来实现该接口。那我们怎么可能在没有类实现的情况下实例化一个接口呢?
谁能帮我找出我的逻辑错误?
【问题讨论】:
标签: java interface anonymous-class