java - 非静态最终变量在 Java 中有用吗?

标签 java

这个问题讨论了非静态最终变量的做法。
我的第一印象是非静态的最终变量是无用的,因为最终变量在初始化后无法重新分配。

class Foo {
    public static final int BAR = 10;
}
这意味着从类型 Foo 创建的所有对象会有BAR = 10 .
像这样使用非静态但最终的变量何时有用、实用或被接受?
class Foo {
    public final int BAR = 10;
}
那么在什么情况下后者变得有用呢?因为它基本上意味着同样的事情。

最佳答案

当同一只动物有这样的领域时:

private final Animal mother;

每个人只有一个亲生母亲,没有共同的母亲,这意味着每个实例都是特定的。

制作 static表示该值在所有实例之间共享。如果这是您想要的,那么它当然是有道理的。

关于java - 非静态最终变量在 Java 中有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25715258/

相关文章:

java - 重新验证 JPanel 的父框架

java - 如何通过 Java 包装器执行 IBM Watson Retrieve And Rank API 中的 searchAndRank 方法

Java Jsoup 迭代下拉列表并抓取动态添加的数据

java - colver中的 'true branch executed'和 'branch executed'有什么不同?

java - 我在声纳正确性中遇到错误 - 字段的双重分配

java - 在单元测试中使用反射是不好的做法吗?

java - 查询 .list 和 .getResultList 之间的区别

java - 在不指定架构的情况下调用 MSSQL 函数

java - 在 Azure DevOps 管道中为测试用例创建特定工作项(Bug)--Selenium

java - 在java中获取网站源