码迷,mamicode.com
首页 > 其他好文 > 详细

接口仅用来定义类型

时间:2020-04-15 09:15:31      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:方法   定义类   number   需要   physical   ons   空间   导致   内部使用   

当类实现接口时,该接口作为一种类型(type),可以用来引用类的实例。因此,一个类实现了一个接口,因此表明客户端可以如何处理类的实例。为其他目的定义接口是不合适的。

一种失败的接口就是所谓的常量接口(constant interface)。 这样的接口不包含任何方法; 它只包含静态 final 属性,每个输出一个常量。 使用这些常量的类实现接口,以避免需要用类名限定常量名。 这里是一个例子:

public interface PhysicalConstants {
    
    static final double AVOGADROS_NUMBER   = 6.022_140_857e23;

}

  常量接口模式是对接口的糟糕使用。 类在内部使用一些常量,完全属于实现细节。实现一个常量接口会导致这个实现细节泄漏到类的导出 API 中。对类的用户来说,类实现一个常量接口是没有意义的。事实上,它甚至可能使他们感到困惑。更糟糕的是,它代表了一个承诺:如果在将来的版本中修改了类,不再需要使用常量,那么它仍然必须实现接口,以确保二进制兼容性。如果一个非 final 类实现了常量接口,那么它的所有子类的命名空间都会被接口中的常量所污染

接口仅用来定义类型

标签:方法   定义类   number   需要   physical   ons   空间   导致   内部使用   

原文地址:https://www.cnblogs.com/lIllIll/p/12702795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!