方法体之外的java类中的字段初始化
请解释以下行为,为什么第一条语句有效,而另一条语句无效并抛出错误
public class Test{
private String firstName="John";// is Valid
//Below is invalid
private String lastName;
lastname="Doe";
}
你可以在下面搜索框中键入要查询的问题!
请解释以下行为,为什么第一条语句有效,而另一条语句无效并抛出错误
public class Test{
private String firstName="John";// is Valid
//Below is invalid
private String lastName;
lastname="Doe";
}
# 1 楼答案
类只能包含声明(以及静态/实例初始值设定项)。根据
firstName
,字段声明可以包含初始值设定项,并且lastName
的声明是有效的,但它后面的赋值只是一个语句,类不能直接包含语句如果要将声明与赋值分开,则需要将赋值放在构造函数中:
或者使用instance initializer(在我的经验中不太常见):