为什么我们不能在两个步骤中初始化实例变量

时间:2016-03-23 11:15:10

标签: java variables initialization instance

{{1}}

错误:标识符预期指向n = 1;

为什么我收到此错误?

3 个答案:

答案 0 :(得分:0)

用int n = 1替换代码;

这个问题似乎是Java instance variable declare and Initialize in two statements的重复。

我没有足够的权限,有权限的人请将其标记为“重复”。

答案 1 :(得分:0)

其他答案已经指出的解决方案是: 将int n =1;写为单行。

但是如果你想了解这个错误的原因,那就是你不能在类体内有语句。语句只能在@Eran指出的方法/构造函数/初始化块中。

当你这样做的时候 int n = 1; 在单行中,它是一个特殊的语句/表达式,称为定义。所以它被允许作为一个特例。

在此处阅读有关语句和表达式的更多信息:JAVA statements and expressions

答案 2 :(得分:0)

然而,这是可能的:

public class A{
    int n;
    {
       n = 1;
    }
}