从反编译角度看看接口中的域

接口除了表示方法的集合之外,经常被用来作为常量类。因为接口做常量类更加简洁。只需要像下面这样:

public interface StringConsts {
    String EMPTY_STRING = "";
}

我们可以看见EMPTY_STRING只需要声明类型即可,形式非常简洁。

今天,我打算从反编译角度看看,我们在接口中只声明类型的域,在编译后是个什么样子。

这是编译和反编译的结果,原来,javac会自动的为接口中的域加上public static final修饰符。

也因此,推荐大家用接口来作为常量类,并且声明常量时只需要声明类型即可,这样可以让阅读的人聚焦于常量本身。

猜你喜欢

转载自blog.csdn.net/guohengcook/article/details/81488915
今日推荐