【发布时间】:2017-08-11 12:25:58
【问题描述】:
在编译以下代码时,出现“错误:预期”错误:
class Test {
public static void main(String[] args) {
Hello h=new Hello();
System.out.println(h.a);
}
}
class Hello {
int a;
a=10;
/*{
a=10
}
}*/ //Putting the reference variable inside the Instance block .
但是,如果在类 Hello 中的同一语句(int a=10;)中声明和初始化变量“a”,则不会出错。
【问题讨论】:
-
a=10在那个地方无效,就这么简单。 -
@litelite,你可以但必须把它放在像
{ a = 10;}这样的块语句中 -
@AxelH 不好的建议。为什么将他与初始化程序块混淆? Plain
int a = 10完成了工作。 -
@GhostCat,同意,但他说(不是 OP,但他现在删除了他的评论......)我们不能在不正确的方法之外使用该语句,块语句是一个想法。没有评论,这看起来像是一个糟糕的建议:p PS:我在评论时从不看代码的简单性,毕竟它可能/应该是minimal reproducible example ;)
-
同意大家的看法,但我怀疑为什么我必须在同一个语句中声明和初始化,以及声明和初始化变量与此有何不同?
标签: java