snj*_*egi 1 java initialization
请解释下面的行为,为什么第一个语句有效而另一个语句无效并抛出错误.
public class Test{
private String firstName="John";// is Valid
//Below is invalid
private String lastName;
lastname="Doe";
}
Run Code Online (Sandbox Code Playgroud)
类只能包含声明(和静态/实例初始值设定项).字段声明可以包含一个初始值设定项,firstName并且您的声明lastName是有效的,但是它之后的赋值只是一个语句,并且一个类不能直接包含语句.
如果要将赋值与赋值分开,则需要将赋值放在构造函数中:
public class Test {
private String lastName;
public Test() {
lastName = "Doe";
}
}
Run Code Online (Sandbox Code Playgroud)
或使用实例初始化程序(根据我的经验不太常见):
public class Test {
private String lastName;
{
lastName = "Doe";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |