Phi*_*lip 4 java null constructor return-value new-operator
以下行是否可以返回null?
MyClass obj = new MyClass();
Run Code Online (Sandbox Code Playgroud)
如果是这样,什么条件会导致返回值为null?
不,这不能返回null.但是,它可以抛出一个异常,并且根据你处理异常的方式,在处理异常之后obj
引用可能仍为null(如果你离开代码块,例如通过不捕获异常,obj
引用将不再存在,因此没关系).
构造函数中异常的原因是多方面的,例如,如果你的内存不足(在这种情况下你会得到一个OutOfMemoryError
),或者如果你访问一个仍然为null并且会导致a的未初始化字段NullPointerException
.