[Java] 匿名内部类

package test.file;

import java.io.File;
import java.io.FilenameFilter;

/**
 * 匿名的内部类
 * @author Frost.Yen
 * @E-mail 871979853@qq.com
 * @date 2016年4月13日
 */
public class TestFile04 {
    public static void main(String[] args) {
        new TestFile04().run();
    }
    private void run(){
        File f = new File("E:\\JAVA\\Examples\\To Learn\\src\\test\\file");
        System.out.println(f.exists());
        System.out.println(f.isFile());

        System.out.println(f.isDirectory());
        //String[] fns = f.list();//不过滤文件
        
        /**
         * 匿名的内部类,该类没有名称,是在代码返回之前就给她实现了
         * 这种方式存在的唯一意义就是只有一个方法会涉及到该类才建议这样
         * 如果有两个或者多个方法会使用,均建议使用内部类
         */
        String[] fns = f.list(new FilenameFilter(){
            @Override
            public boolean accept(File dir, String name) {
                //过滤的结果是显示返回true的值
                if(name.endsWith(".java")) return true;
                else return false;
            }
        });//过滤文件
        for(String fn:fns){
            System.out.println(fn);
        }
        System.out.println("---------------------------------");
    }
}

 

posted on 2016-04-13 11:23  晏过留痕  阅读(215)  评论(0编辑  收藏  举报