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