【发布时间】:2016-03-23 11:15:10
【问题描述】:
class A {
int n;
n=1;
}
错误:标识符应指向 n=1;
为什么会出现这个错误?
【问题讨论】:
-
n=1;只能出现在方法/构造函数/初始化块中。 -
我不确定你是否知道你在问.... Eran 是对的!
标签: java variables initialization instance
class A {
int n;
n=1;
}
错误:标识符应指向 n=1;
为什么会出现这个错误?
【问题讨论】:
n=1; 只能出现在方法/构造函数/初始化块中。
标签: java variables initialization instance
将代码替换为 int n = 1;
而且这个问题似乎与Java instance variable declare and Initialize in two statements 重复。
我没有足够的权限,有权限的人,请标记为“重复”。
【讨论】:
其他答案中已经指出的解决方案是:
将int n =1; 写成单行。
但是如果你想了解这个错误的原因,那就是你不能在类体内有语句。正如@Eran 指出的那样,语句只能在方法/构造函数/初始化块内。
当你这样做时
int n = 1;
在单行中,它是一个特殊的语句/表达式,称为definition。所以它被允许作为一个特殊情况。
在此处阅读有关语句和表达式的更多信息:JAVA statements and expressions
【讨论】:
但是,这是可能的:
public class A{
int n;
{
n = 1;
}
}
【讨论】: