首先,这不是在 Java 中构造函数之前 Initialize final variable的完全重复。这可能是相关的,但没有任何答案让我满意。
我的问题是关于 Swing GUI 中的最终变量。特别是关于 custom Action
。我有许多final
变量和许多static final
变量。
问题是:如果变量实际上是一个常量,那么更好的是:在构造时初始化它们,还是在声明时初始化它们?
我上面提到的问题的答案通常指向在static
声明变量时尽快分配变量。这对我来说真的没有意义,因为变量没有在静态上下文中使用。我有几个我的表单使用的图像,例如图标,我将它们设为静态,因为除非您的应用程序修改它们,否则图像只是静态的东西。那讲得通。
另一方面,Action
s 是自定义内部类的新实例。从技术上讲,它们也是静态的,但感觉不同。它们根本不能在静态上下文 imo 中可用。我也这么说:
private final CustomAction customAction = new CustomAction();
还是我在构造函数中初始化它?哪个更好?还是我想错了static
?