在Java构造函数和main中,哪个首先执行?

时间:2019-03-26 07:00:45

标签: java

基本上哪个将首先执行main方法或构造函数?

public class ConstructorExp {
  public ConstructorExp() {
    System.out.println("Ctt");
  }

  public static void main(String[] args) {
    System.out.println("Inside Main Methos");
    System.out.println("Main");
  }
}

1 个答案:

答案 0 :(得分:1)

将始终首先执行main方法,因为它是一种特殊的静态方法,将从Java本身调用该方法以启动应用程序。

有关主要方法的更多信息,请阅读Java main() Method Explained

构造函数将在对象创建时创建-在您的情况下,不会创建对象-因此构造函数将永远不会执行。

您可以修改示例以同时执行构造函数:

public class ConstructorExp {
  public ConstructorExp() {
    System.out.println("Ctt");
  }

  public static void main(String[] args) {
    System.out.println("Inside Main Methos");
    ConstructorExp example = new ConstructorExp();
    System.out.println("Main");
  }
}

请小心,因为从不使用example对象,根据您使用的编译器,可以通过某种优化来消除构造函数调用。