class Temp
{
{
System.out.println("this is in it block");
}
public static void main(String... s)
{
System.out.println("abhi");
}
}
上面的代码没有打印 init 块的内容,但我们知道 init 块是构造函数的第一行。
但另一方面,如果我使用
new Temp();
它会被打印出来。为什么这样?如果构造函数在每个类中,上面的代码也应该在没有对象初始化的情况下打印它。不应该吗?
最佳答案
您的代码中没有任何内容调用构造函数,因此实例 init 块也永远不会被调用。
不,为什么要这样做?你必须调用它才能发生这种情况。它不会仅仅因为它存在就运行。
关于java - Java中的每个类都必须有一个构造函数吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12340543/