Interface定义常量方法
Class定义常量方法
这两者有什么区别呢?
1.代码简洁
2. interface
中定义常量方法生成的 class
文件比第一种方法的更小
为什么小呢?
我们都知道 interface
没有继承 Object
,Object
是所有类的基类,所以 interface
不是类。
Java
在编译之后会在字节码文件中生成 <init>
方法,称之为实例构造器,该实例构造器会将语句块,变量初始化,调用父类的构造器等操作收敛到 <init>
方法中。
并且接口中也没有 <init>
,因为当初始化一个类的时候,如果发现其父类还没有进行过初始化,则需要先触发其父类的初始化,必然会调用 <init>
,况且接口也不能初始化。这样看来接口的确不是类哈。
以下是上面两个代码的常量池
Enum定义常量
通过配置文件来配置常量
我们直接修改配置文件里的参数就好了,降低了程序的耦合性。
这里有个东西叫国际化。
转载自原文链接, 如需删除请联系管理员。
原文链接:Java中定义常量的几种方法,转载请注明来源!