Interface定义常量方法

在这里插入图片描述

Class定义常量方法

在这里插入图片描述

这两者有什么区别呢?

1.代码简洁
2. interface 中定义常量方法生成的 class 文件比第一种方法的更小
为什么小呢?
我们都知道 interface 没有继承 ObjectObject 是所有类的基类,所以 interface 不是类。
Java 在编译之后会在字节码文件中生成 <init> 方法,称之为实例构造器,该实例构造器会将语句块,变量初始化,调用父类的构造器等操作收敛到 <init> 方法中。
并且接口中也没有 <init>,因为当初始化一个类的时候,如果发现其父类还没有进行过初始化,则需要先触发其父类的初始化,必然会调用 <init>,况且接口也不能初始化。这样看来接口的确不是类哈。

以下是上面两个代码的常量池在这里插入图片描述
在这里插入图片描述

Enum定义常量

在这里插入图片描述

通过配置文件来配置常量

我们直接修改配置文件里的参数就好了,降低了程序的耦合性。
这里有个东西叫国际化。
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐