default方法
在Java8之前,如果需要在一个已有接口中添加一个方法,那么所有这个接口的实现类也都必须同时实现这个方法,否则程序将无法正常编译运行
为了解决这个问题,Java8在接口中引入了default方法
default方法
也被称为守护方法(defender method)
或虚拟扩展方法(virtual extension)
。可以在接口中包含一些默认的包含方法体的方法,从而使得接口在进行扩展的时候,不会破坏它的实现类
使用方法如下:
public interface INTERFACE{
default void myINTERFACE(){
System.out.println("来自INTERFACE接口中的default方法~~")
}
}
注意!如果两个接口中同时实现相同的default方法会发生编译错误!因为编译器不知道该使用哪个接口中的default方法,它们的优先级是一样的!
解决方法: 在实现类中实现该default方法
遍历隐藏文件
void TraverseHiddenFiles(String path){
File file = new File(path);
if( file.isDirectory() ){
File[] files = file.listFiles(f -> f.isHidden());
System.out.println(Arrays.toString(files));
}