如果我转到RandomGenerator class的Javadoc页面,我会看到类构造函数和方法的摘要。它说public class RandomGenerator extends Random
。
如何找到有关RandomGenator class
如何调用Random类构造函数的更多信息?我没有在RandomGenerator class
中看到它的超类构造函数的任何引用。
答案 0 :(得分:1)
您很可能需要联系作者。出于某种原因,他们决定不将这些信息包含在javadoc(公共合同)中。
如果您没有来源,您也可以查看类源或使用java反编译器。
如果类构造函数没有直接调用super()
,则意味着超类具有无参数构造函数,该调用是类构造函数的第一行始终,并且您不需要明确地称之为。
P上。 S.我的回答有两种不同的方法。我为此道歉,我不太确定你是否有分析来源。
答案 1 :(得分:1)
简短的回答是,你不能直接从javadocs。
您可以查看父类,发现它有2个构造函数,根据子类构造函数公开的参数猜测正在调用哪个构造函数。
当然,最有说服力的答案可以通过查看源代码(如果可用)或反编译(如果不是)来给出。
答案 2 :(得分:1)
注意:如果构造函数没有显式调用超类构造函数,Java编译器会自动插入对超类的无参数构造函数的调用。如果超类没有无参数构造函数,则会出现编译时错误。对象确实有这样的构造函数,因此如果Object是唯一的超类,则没有问题。
因此,他们决定不实际将调用写入super
构造函数并使用默认值。