首页 > 解决方案 > 当main方法中没有创建类的实例时,会调用默认构造函数吗?

问题描述

当main方法中没有创建类的实例时,会调用默认构造函数吗?

前任:

class A{
    public static void main(String args[]){
        System.out.print("Hello")
    }
}

在这种情况下,会调用 A 的默认构造函数吗?

标签: java

解决方案


创建对象时调用构造函数。Main 方法是静态的,因此不需要创建 A 类的对象,因此不会调用构造函数。

以下是调用默认构造函数的情况,因为您创建了 A 类的实例。我创建了自己的构造函数,只是为了知道它里面的文本是否被打印,这就是它被调用的证明

public class A {

   public static void main(String[] args) {
       A a = new A();
       a.print();
   }

   public A()
   {
       System.out.println("Constructor invoked");
   }

   private void print()
   {
       System.out.println("Text printed");
   }
}

输出:

Constructor invoked
Text printed

推荐阅读