我知道一旦最终的变量赋值给它,就不能改变.不过我有几个关于这个问题:
>当我有一个字段时,说静态的最后一个JButton按钮;在一个类之外,然后在main方法中,尝试赋值一个值,button = new JButton(“OK”);我收到一个错误,告诉我删除最后的修饰符?但是,由于原来的按钮变量还没有引用一个对象,我的印象是我可以分配一次?
>其次,如果我完全删除对该按钮的引用,所以我只有静态最后的JButton按钮;在课外,我的IDE声称“空白的最终字段按钮可能没有被初始化.这是否意味着所有最终的领域必须初始化?如果是这样,它们必须在那里初始化,然后我似乎不能在以后初始化.
>另外,愚蠢的问题,但是我的初始假设是,当一个最终变量被引用到一个实例或数据类型时,它不能被分配给其他任何东西是正确的,对吗?
这段代码不完整,但是为了说明我的观点:
public class FinalVarTester {
static final JButton button;
public static void main(String[] args) {
JFrame frame = new JFrame();
Container container = frame.getContentPane();
container.setLayout(new BorderLayout());
button = new JButton("OK");
container.add(button, BorderLayout.SOUTH);
}
}