我目前正在学习 mooc java 课程,但我无法理解为什么在声明类类型为 Random 的新变量 randomVar 之后我们需要包含 new Random() 部分? private Random randomNum = new Random(); // Why this?
private Random randomNum; //Instead of this?
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
在 Java 中没有构造函数的隐式调用。在您的示例中,变量将未初始化或初始化为null(例如在声明类字段时)。IE:
void foo() {
Random r; // r never gets initialized
}
...
class Foo {
Random r; // gets initialized to null
}
如果你想获得一个对象的实例,那么new必须在某个地方调用,或者在变量声明期间直接调用,或者通过从另一个已经实例化的变量分配它。
添加回答
举报
0/150
提交
取消