关于在Java中声明为final的变量的一些说明?

And*_*ili 0 java final

我对Java中的final变量声明有以下疑问

如果我在代码中声明以下变量:

private final String CURRENT_USER;
Run Code Online (Sandbox Code Playgroud)

Eclipse向我显示以下错误消息:空白的最终字段CURRENT_USER可能尚未初始化

为什么?根据我的理解,如果我将变量声明为final,我只能初始化一次,但在我看来,只有在我声明它而不是在代码中的某个地方之后才能初始化它...

为什么?

TNX

安德里亚

Ren*_*ink 5

您必须在声明或构造函数中初始化它.

或

private final String CURRENT_USER = "SomeUser";
Run Code Online (Sandbox Code Playgroud)

或者在构造函数中

private final String CURRENT_USER;

public YourClassName(){
   CURRENT_USER = "test";
}
Run Code Online (Sandbox Code Playgroud)

但是你应该以驼峰的方式命名一个实例变量

private final String currentUser;
Run Code Online (Sandbox Code Playgroud)

否则某人(包括我)认为这是一见钟情.