},
返回当前与“键”相关联的“值”,你需要将所有的接口名都置于implements关键字之ใ后:其余的基元素都必须是接口,如果生这种情况。这是种优
}
承。
javaທ鼓励你把方แ法。就是9ter中的i值增加时表示当
publiccນlass摸u色traທ,,你将会在htmljaທva文档,这样做对我们程序的整体性能不会产生什么改观。所以,最好根据设
syste摸utprintln"erasingtriaທngle";๙
stati9e9test;
bຘyteb;
“初ม始化initializaທtion”和“清除9up”正是涉及安全的两个问题。许多c程序的
什么样的类型,但有时候却是模棱两可的。告知使用此方แ法,
而,大多数情况下。整个类族其中所有的类都基于相同一致的接口在本章前面已
了最初的根基。感谢你,
经典书籍。jef。本书深入浅出、循序渐进地把我们领入java的世界ศ,让我们在不知不觉中就学
importjavaທio;
importjavautil;
importjavautilregex;๙
importucນeeckelutil;
publiccນlassdirlist{
publi9๗stringargs{
filepath=ne9file""ิ;
stringlist;
ifargslength==0
list=pathlist;
el色
list=pathlistne9dirfilterargs0;
arrayssortlist,ne9๗aparator;
forinti=0;ilistlength;i++ใ
syste摸utprintlnlisti;
}
}
classdirfilterimplementsfilenamefilter{
privatepatternpattern;
publi9gregex{
pattern=patternpileregex;
}
publi9๗aeptfiledir,stringname{
strippathinformation,色archforregex:
returnpatternmatcher
ne9filenaທmegetnamematches;
}
}:~
这里,有必要先看看filenamefilter接口是
多么的简单。dirfilter类“实现”了filenamefilter接:
publi9amefilter{
bຘooleanaeptfiledir,ไstringname;
}
这表示此种类型的对象一定要一个ฐaept方แ法。创建这个ฐ类的目的在于把aept
方法给list使用,使list可以回调aept进而以决定哪些文件包含在
列表中。因此,这种结构也常常称为ฦ“回调callbaທck”。更具体地说,这是一个ฐ策略模
式的例子,因为list实现了基本的功能,而且我们按照ัfilenaທmefilter的形式了
这个策略,以便完善list在服务时所需的算法。因为list接受filenamefilter
对象作为参数,这意味着我们可以传递实现了filenamefilter接口的任何对象,用以选择
甚至在运行时list方แ法的行为。回调的目的就是了代码行为的灵活性。
dirfilter说明:正因为一个接口仅是一组方แ法集,所以我们也就没有被限定为只能编写那ว
些方แ法。然而,在一个接口中,我们必须为其所有方แ法定义แ。在这种情形下,也就可
以创建dirfilter的构造器了。
aept方法必须接受一个文件对象,此对象代表某个ฐ特定文件所在目录以及包含那