我正在尝试编写一款游戏,遵循OU TMA文档中的说明:
在构造函数中,编写代码将使用Random类的零参数构造函数创建的新实例分配给ran
这段代码会起作用吗?
Random ran = new Random(0) ;
我是一个相对新手的Java程序员,不太理解这个指令具体是什么意思。
我正在尝试编写一款游戏,遵循OU TMA文档中的说明:
在构造函数中,编写代码将使用Random类的零参数构造函数创建的新实例分配给ran
这段代码会起作用吗?
Random ran = new Random(0) ;
我是一个相对新手的Java程序员,不太理解这个指令具体是什么意思。
Random ran = new Random();
这是一种可行的方法。
这两个构造函数的区别在API文档中有很好的描述:
Random()
创建一个新的随机数生成器。此构造函数将随机数生成器的种子设置为一个非常可能与此构造函数的任何其他调用不同的值。
Random(long seed)
使用单个长种子创建一个新的随机数生成器:public Random(long seed) { setSeed(seed); }
也就是说,通过参数创建的Random对象,每次运行程序都会返回相同的随机数序列,而通过零参数构造函数(或“无参数构造函数”)创建的对象将尽力返回不同的序列。