我知道这不起作用,但它只是一个例子,所以我可以理解为什么它不起作用.
public class MyClass {
final static JButton b;
public void myMethod() {
b = new JButton("Hello!");
}
}
Run Code Online (Sandbox Code Playgroud)
1)为什么final static JButton b;线路出错?当我删除static关键字时,为什么这个错误会消失?
2)有或没有static关键字,行有一个错误b = new JButton("Hello!"); 我想知道为什么这是?我认为在方法中实例化最终变量是可以的.
声明静态字段时final,必须在静态初始化程序块或初始化表达式中静态初始化它.您无法在构造函数中初始化它.
声明非静态字段时final,必须在每个构造函数中初始化它,或者使用初始化表达式或在实例初始化程序块中初始化它.