Java声明一个变量,然后初始化它。? 在上面的例子中,为什么我不能声明一个变量“j”,然后直接在类下初始化呢 我可以在静态/实例初始化块下以相同的方式声明并初始化 区别在于,我知道Java不支持声明然后初始化实例变量。这背后的原因是什么
在正常情况下,在声明变量之前不能使用它。所以Java声明一个变量,然后初始化它。? 在上面的例子中,为什么我不能声明一个变量“j”,然后直接在类下初始化呢 我可以在静态/实例初始化块下以相同的方式声明并初始化 区别在于,我知道Java不支持声明然后初始化实例变量。这背后的原因是什么,java,Java,在正常情况下,在声明变量之前不能使用它。所以 public class TestVariableDeclaration{ int j; // ERROR j=45; // ERROR static{ int k; k=24; } { int l; l=25; } void local(){ int loc; loc=55;
public class TestVariableDeclaration{
int j; // ERROR
j=45; // ERROR
static{
int k;
k=24;
}
{
int l;
l=25;
}
void local(){
int loc;
loc=55;
}
}
由于j
尚未声明,顶部将失败
除非我不明白你的问题,否则这是非常可能的:
j=45;
或者更简洁地说:
class SomeClass {
int j; // declare it
{
j=45; // initialize it
}
}
(编辑:输入错误)为什么不简单地初始化并像这样一起声明->
intj=45代码>?对我来说就是这样的。编译器不够聪明intj=45代码>你可以在去极化时进行初始化。我可以知道为什么不可能进行变量的声明和初始化吗?因为在你写j=45的位置代码>只允许声明,不允许语句。
class SomeClass {
int j = 45; // declare and initialize
}