我有两个关于 Java 的问题:
我知道未初始化的对象会自动分配
null
但此代码不起作用 -A a; //A is some valid user-defined object System.out.println(a != null);
这会产生错误:
错误:变量 a 可能尚未初始化
。
这表明a
不为空。那么,如何区分null
和这些类型的变量呢?我知道构造函数不返回任何值,甚至
void
也不返回,并且return
返回void
,那么以下如何代码完美运行吗?A() { //...Some code return; //Works perfectly even if it returns void from inside construtor }
最佳答案
从下次开始考虑一次只问一个问题。
I know that uninitialized object is automatically assigned null but this code doesn't work -
这适用于实例成员。不适用于局部变量。如果您的代码位于您应该考虑分配的方法内。
I know that constructor doesn't return any value not even void and return returns void, so how can the following code work perfectly?
只需一个简单的return;
即可终止执行。它不会返回任何内容,并且这是有效的,就像 break;
语句一样。
关于java - 未初始化的对象不为 null 并且在构造函数中返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48060615/