你把Filter定义成了内部类,而内部类的实例化必须依赖一个外部类实例。所以,你把Filter类挪出来,定义为一个public独立类,就没问题了。
把那个判断if(filename.contains(".png")) 改成if(filename.endWith(".png"))
Filter它是个接口,你如果要把它new成一个对象,就必须实现它的抽象方法,可以用java匿名类的实现。