Swing中静态成员的顺序是否敏感?
|
我有这个课,比方说,
Foo
。它是extends JFrame
,是一个单例。话虽这么说,它有两个静态字段:1)ѭ0的实例和2)aColor
。
这是Foo
的代码段:
public class Foo extends JFrame{
private static final Color FOO_RED = new Color(155, 64, 69);
private static final Foo INSTANCE = new Foo();
private Foo(){
//do stuff
}
public static Foo getInstance(){
return INSTANCE;
}
}
我还有另外一堂课,比如Launcher
。这是负责启动应用程序的主要类。这是一个简单的类,因为它的唯一工作就是将构造“ 0”的任务委托给“ 8”。
这是Launcher
的代码段:
public class Launcher{
public static void main(String[] args){
SwingUtilities.invokeLater((new Runnable(){
@Override
public void run()
{
Foo.getInstance();
}
}));
}
}
现在,一切正常。但是,当我切换Foo
字段的顺序时(请参见下文),使用FOO_RED
的组件将不再绘制此颜色。
public class Foo extends JFrame{
private static final Foo INSTANCE = new Foo(); //declared before Color
private static final Color FOO_RED = new Color(155, 64, 69);
private Foo(){
//do stuff
}
public static Foo getInstance(){
return INSTANCE;
}
}
因此,这引出了一个问题,当涉及到Swing
时,静态字段的排序是否重要?
没有找到相关结果
已邀请:
3 个回复
好按紊叉
呢率篓舍烫
字段/块,排序都很重要。 编辑: 首先,将静态字段设置为其默认值(因此
为
),然后按照出现的顺序初始化静态字段。因此可以在初始化之前观察
字段。
娠侈脚惮顽