接口只用于定义类型(19)
程序员文章站
2024-03-15 08:52:35
...
1、类实现了接口,接口就充当引用类实例的类型
- 为了其他任何理由定义接口是不恰当的
2、常量接口不满足1、是对接口的不良使用
- 类实现常量接口,对于类没有任何价值
- 非final 类实现常量接口,所有子类命名空间都会被污染
3、应该使用枚举类或者不可实例化的工具类(构造函数私有化)
- 工具类导出的常量,用静态导入机制,避免使用类名
4、接口只被用来导出类型,不要用来导出常量
5、Static Import机制常常被直译成“静态导入”
-
“静态导入”或者“静态成员导入”
- 精准导入静态变量、静态方法
- 可以导入一个类里的一切被static修饰的东西,包括变量、常量、方法和内类
import static java.lang.Math.PI;
import static java.lang.Math.sin;
//声明遇到来历不明的成员时到java.lang.Math中去寻找
//并不是把这个类或接口里的所有静态成员全部导入
import static java.lang.Math.*;
- 如果两个语句都是精确导入的形式,或者都是按需导入的形式,那么会造成编译错误。
- 如果一个语句采用精确导入,一个采用按需导入的形式,那么采用精确导入的形式的一个有效。
- 导入的东西还可能和本地的东西相冲突,这种情况下的处理规则,是“本地优先"
- 都会被编译器打回原型。因此在性能方面,Static Import没有任何影响
- 增加了阅读理解的麻烦
- 可能给维护工作带来一定的困扰
转载于:https://my.oschina.net/u/3847203/blog/1825644
上一篇: ASP.NET页面之间传值(一)--QueryStringy页面传值
下一篇: 接口只用于定义类型