私有静态最终 vs 私有最终

Bat*_*tty 5 java memory

这个问题已被问到here。根据答案:

private final int NUMBER = 10;
Run Code Online (Sandbox Code Playgroud)

如果它不能改变,那么每个实例只有一个副本就没有意义了。

我的疑问是,如果创建了类的实例,例如每天一次并且持续几秒钟,会怎样。将 int(在某些情况下是对象)保存在内存中是个好主意吗?

假设可以有很多(20-30)个这样的对象。

Mar*_*lan 4

如何存储信息很大程度上取决于信息的用途。

您可以采取以下几种方法:

私有静态最终

如果该值在应用程序的生命周期内永远不会被修改,那么这是一个不错的选择。这意味着,当您创建多个实例时,您实际上仅存储此特定变量一次。

私人决赛

这意味着对象的不同实例的值可能采用不同的值,但任何特定实例的值在对象的整个生命周期内都不会被修改。

如果您正在寻找在一段时间内可能呈现不同值的东西,那么您可能会对它感兴趣。

公共静态 int GetNumber(){...}

您可能考虑的另一种方法是让静态方法返回您想要的值。这使得处理值的更改变得容易,但您还需要考虑此类更改在任何给定实例的整个生命周期中的影响。

希望有帮助...