1

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

public class TestClass {

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


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

    }

}
4

1 回答 1

2

您在类TestClass中创建的不是没有参数的构造函数,而只是一个与您的类同名的方法。这在 Java 中是允许的,事实上,您可以通过添加返回类型这一事实来了解这一点void
在您的情况下,当您在 main 方法中实例化类时,您实际上是在调用编译器自动添加的“默认”构造函数。
如果您想看到打印的行,则必须删除“void”子句,以便拥有一个不带参数的正确构造函数。它应该如下所示:

public class TestClass {

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


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

    }

}
于 2021-05-02T11:15:15.637 回答