【发布时间】:2012-04-23 00:48:35
【问题描述】:
首先,这不是Initialize final variable before constructor in Java 的完全重复。这可能是相关的,但没有任何答案让我满意。
我的问题是关于 Swing GUI 中的最终变量。特别是关于自定义Actions。
我有许多 final 变量和许多 static final 变量。
问题是:如果变量实际上是一个常量,那么更好的是:在构造时初始化它们,还是在声明时初始化它们?
我上面提到的问题的答案通常指向在声明变量时尽快分配变量static。这对我来说真的没有意义,因为变量没有在静态上下文中使用。我有几个我的表单使用的图像,例如图标,我将它们设为静态,因为除非您的应用程序修改它们,否则图像只是静态的东西。这是有道理的。
另一方面,Actions 是自定义内部类的新实例。从技术上讲,它们也是静态的,但感觉不同。它们只是不得在静态上下文 imo 中可用。我也这么说:
private final CustomAction customAction = new CustomAction();
或者我在构造函数中初始化它?哪个更好?还是我对static 的看法有误?
【问题讨论】:
-
+1 提前进行研究
-
如果您在代码初始化时知道该值,请在声明时对其进行初始化。其他在施工。
标签: java variables static constants