【发布时间】:2010-10-20 12:36:45
【问题描述】:
我有一个代码
public class BooleanTest {
public BooleanTest() {
super();
}
public static void main(String args[]){
BooleanTest bt = new BooleanTest();
bt.doProcess();
}
private boolean method() {
return false;
}
private void doProcess() {
Boolean obj = (Boolean)method();
System.out.println(obj.booleanValue());
}
}
问题是System.out.println(obj.booleanValue());在任何情况下都可以抛出NullPointerException吗?
【问题讨论】:
-
每次看到我都想知道为什么人们不写 args 构造函数并显式调用 super()。
-
因为有人可能会添加另一个构造函数,而您希望确保 noarags 构造函数始终存在。因为它在逻辑上更明确。虽然我必须承认在说明性代码中 sn-p 它不是很有用。
-
也不需要调用super()。