V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cirton
V2EX  ›  Java

接口这样写的目的是什么?

  •  
  •   cirton · 2020-01-02 09:52:25 +08:00 · 2342 次点击
    这是一个创建于 1547 天前的主题,其中的信息可能已经有所发展或是发生改变。
    public interface Metric2Filter {
    Metric2Filter ALL = new Metric2Filter() {
    @Override
    public boolean matches(MetricName name, Metric metric) {
    return true;
    }
    };

    boolean matches(MetricName name, Metric metric);
    }



    在其它类调用时 Metric2Filter metricFilter = Metric2Filter.ALL;

    接口内是什么写法?有什么好处吗?
    LeeSeoung
        1
    LeeSeoung  
       2020-01-02 09:59:04 +08:00
    提供一些默认实现?类似枚举?
    luozic
        2
    luozic  
       2020-01-02 11:01:13 +08:00 via iPhone
    是哪种调用 去搜一下 aop 有没有调用这个的,看名字度量过滤器?
    luozic
        3
    luozic  
       2020-01-02 11:01:57 +08:00 via iPhone
    这种为啥不用注解的方式实现呢?
    meeop
        4
    meeop  
       2020-01-02 11:27:31 +08:00
    用的时候比 Spring 注入方式少写 2 行代码吧,也能少写一个实现类
    牺牲一点可读性,增加一点编码效率
    hzgit
        5
    hzgit  
       2020-01-02 12:37:55 +08:00
    接口内部提供了一个默认的实现实例,省了一个 class file,接口单例,没什么好不好的。但是要注意这种写法不是 lazy load 的。
    cirton
        6
    cirton  
    OP
       2020-01-02 14:25:31 +08:00
    @hzgit
    明白了,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1475 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:23 · PVG 01:23 · LAX 10:23 · JFK 13:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.