java - "Once-initialized"构造时未初始化的变量

标签 java final

Java中有没有什么方法可以创建像final这样的变量,这些变量不在构造函数内初始化,但一旦初始化,就再也不能更改?我的问题是,我在不同的时间点获取变量值,并且我想在收到第一个值之前或立即创建该类。

我已经考虑过为每个变量保留一个标志的明显解决方案,但我想知道是否有比这更有效的解决方案。

最佳答案

我可能会按照最后一个答案 here 做一些事情。始终使用 setter 设置字段,如果该字段不是默认值(即 null),则不允许设置它。

关于java - "Once-initialized"构造时未初始化的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16390488/

相关文章:

java - 使用 Java 在命令行上打印清晰的文本

java - 将数据从 Oracle 存储过程传递到 Java

java - 如何仅在 JGraphX 中禁用边选择?

Java 如果没有设置方法,为什么我们需要一个声明为 final 的实例变量

java - 最终静态与静态最终变量

java - 如何在Java中创建一个只能设置一次但不是最终的变量

java - 努力用 Java 制作 HTML 编辑器

java - spring security - 如何提供拦截 URL 的列表

java - 静态最终和多个类加载器

Java/JavaFX 绕过 Final 或有效 Final,这是一个好方法吗?