即使对于新的Java开发人员,构造函数也可能不是什么大谜。 本质上,当您创建一个类的实例时,该类的构造函数就会启动。 在Java Puzzlers系列的第6部分中,我们将看到一个与构造函数有关的案例。
public class Puzzler { public Puzzler(){ System.out.println( "Puzzler no arg constructor" ); } public static void main(String[] args){ Puzzler puzzler = new Puzzler(); } }
在上面的示例中,Puzzler()构造函数将启动,并且“ Puzzler no arg构造函数”将被打印到屏幕上。 现在让我们看一个新的例子。
public class Puzzler { public void Puzzler(){ System.out.println( "Puzzler no arg constructor?" ); } public static void main(String[] args){ Puzzler puzzler = new Puzzler(); } }
如您所见,我们向Puzzler的构造函数添加了返回值,并且您可能期望“ Puzzler no arg构造函数?” 将被打印,但这是不正确的。 当我们向构造函数添加返回值时,它不再是构造函数。 因此,在创建新实例时它不会开始。
翻译自: https://www.javacodegeeks.com/2020/05/java-puzzlers-from-oca-part-6.html