为什么 "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();
}
}
有人可以解释为什么 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();
}
}