为什么 "initializing Test Class" 没有得到打印?

Why does "initializing Test Class" doesn't get print?

有人可以解释为什么 TestClass 构造函数没有被调用吗? 如果我创建另一个 class 但不使用包含 main 方法的 class,它会起作用吗?

public class TestClass {

    public void TestClass(){
        System.out.println("initializing Test Class");
    }


    public static void main(String[] args) {
        TestClass testClass  = new TestClass();

    }

}

您在 class TestClass 中创建的不是没有参数的构造函数,而是一个与您的 class 同名的方法。这在 Java 中是允许的,事实上,您已经添加了 return 类型 void.
在您的情况下,当您在 main 方法中实例化 class 时,您实际上是在调用编译器自动添加的“默认”构造函数。
如果你想看到你的行被打印出来,你必须删除“void”子句,这样才能有一个没有参数的合适的构造函数。它应该是这样的:

public class TestClass {

    public TestClass(){
        System.out.println("initializing Test Class");
    }


    public static void main(String[] args) {
        TestClass testClass  = new TestClass();

    }

}