我非常怀疑这个动作是什么以及如何在记忆中进行管理.
在main()方法中,我制作了这些句子或说明.
public static void main(String[] args) {
int i = 0;
int j = new Random().nextInt(100); // As it is called this way of acting or as it is called.
}
Run Code Online (Sandbox Code Playgroud)
我清楚它的作用是直接调用Random类构造函数方法,调用nextInt方法并生成一个存储在int j变量中的随机数,但我不知道如何定义这种类型的操作,我不知道是否做这种指示是正确的.
我很想知道这种类型的动作是什么.
感谢您的关注.
PD:对不起..我正在学习
int j = new Random().nextInt(100);
Run Code Online (Sandbox Code Playgroud)
几乎是一样的
Random r = new Random();
int j = r.nextInt(100);
Run Code Online (Sandbox Code Playgroud)
即两者都创建类的实例(对象)Random,然后调用该实例的方法.
不同之处在于,在第一种情况下,您不会保留对已创建实例的引用,因此您无法再次访问该实例,并且由于不存在对该实例的引用,因此可以立即对其进行垃圾回收.
正如Andy建议的那样,您可以将其视为创建Random类的实例并将其分配给变量(称为nextInt()方法),然后退出声明该变量的范围:
int j;
{
Random r = new Random();
j = r.nextInt(100);
}
// at this point you have no access to the Random instance
Run Code Online (Sandbox Code Playgroud)