EffectiveJava(19)导出常量的几种方式 - - 接口只用于定义类型
2024-09-04 11:12:36
package com.classinteface.finalinterface;
/**
* 常量接口模式 java.io.ObjectStreamConstants
* 这种模式会导致实现其的类将实现细节泄露到该类导出的API中
* 如果将来的发行版本改动了这个类,它不再需要常量接口中的常量,却依然必须实现这个接口以保证二进制兼容性
* @author JacXuan
*
*/
public interface PhysicalConstants {
static final double AVOGADROS_NUMBERS = 6.02214199e23;
static final double BOLTAMANN_CONSTANT = 1.380653e-23;
static final double ELECTRON_MASS = 9.10938188e-31;
//导出常量
//1.如果这些常量不与现有的类或者接口密切相关,就把这些常量添加到这个类或者接口中
// private PhysicalConstants(){
//
// }
// static final double AVOGADROS_NUMBERS = 6.02214199e23;
// static final double BOLTAMANN_CONSTANT = 1.380653e-23;
// static final double ELECTRON_MASS = 9.10938188e-31;
//2.如果大量利用工具类导出的常量,可以利用静态导入的机制,避免用类名来修饰常量名jdk>1.5
// public class Test{
// double atoms(double atoms){
// return AVOGADROS_NUMBERS * mols;
// }
// }
//总结:接口应该被用来定义类型,不应该用来导出常量
}
最新文章
- Camtasia Studio屏幕录像安装与破解
- windows IIS6 PHP搭建
- jQuery实现返回顶部
- ubuntu14.04设置开机亮度
- oracle 根据字段分组后,将组内的数据根据字段排序
- Effective Java 40 Design method signatures carefully
- 使用HttpURLConnection向服务器发送post和get请求
- 为什么要lock,lock了什么?
- [code]判断周期串
- Linux系统上的命令使用方法
- 剑指offer(40)数组中只出现一次的数字
- ABP框架 配置权限、本地语言文件、左侧菜单项
- linux下通过curl访问web服务器
- opencv学习之路(18)、霍夫变换
- 分割(partition,stable_partition)
- 运行msckf_vio
- Boost 库uuid 的使用
- Java三方---->;Thumbnailator框架的使用
- mysql sp 练习游标和预编译
- Gitlab简单使用指南