gpt4 book ai didi

java - 类中的静态最终字段与 java 中的接口(interface)字段

转载 作者:行者123 更新时间:2023-12-01 16:48:59 24 4
gpt4 key购买 nike

我需要在我的应用程序中创建 100 个或更多静态最终常量,根据我的理解,我可以通过以下两种方式实现这一点:

  1. 创建一个简单的 java class 并在其中创建 static final 字段
  2. 创建一个接口(interface)并将所有变量放入其中,因为接口(interface)中的所有字段都隐式static final

我在上述方法中遇到以下问题:

  1. 哪种方法是实现这一目标的正确方法?
  2. 哪一种方法是内存高效的方法?
  3. 有什么设计模式可以实现这一点吗?

最佳答案

您可以引用许多有关该主题的书籍。

我引用一句很好的话:《Effective Java》

第 19 项:仅使用接口(interface)来定义类型

The constant interface pattern is a poor use of interfaces. That a class uses some constants internally is an implementation detail. Implementing a constant interface causes this implementation detail to leak into the class’s exported API. It is of no consequence to the users of a class that the class implements a constant interface

您甚至可以检查 JDK 主要常量的声明位置。

Math.PI 例如,在 Math 类中声明,而不是在接口(interface)中声明

作为异常(exception),您可以看到像 java.io.ObjectStreamConstants 中那样的常量,但书籍仍然可以提供帮助:

再次来自有效的java:

There are several constant interfaces in the Java platform libraries...

These interfaces should be regarded as anomalies and should not be emulated.

关于java - 类中的静态最终字段与 java 中的接口(interface)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44450240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com