Java中实例方法,静态块和构造函数的执行顺序

静态块是带有static关键字的代码块。 通常,这些用于初始化类的静态成员。 JVM在加载类时在main方法之前执行静态块。

示例

public class MyClass {
   static{
      System.out.println("Hello this is a static block");
   }
   public static void main(String args[]){
      System.out.println("This is main method");
   }
}

输出结果

Hello this is a static block
This is main method

构造函数类似于方法,在创建类的对象时调用,通常用于初始化类的实例变量。 构造函数与它们的类同名,并且没有返回类型。

public class MyClass {
   MyClass(){
      System.out.println("你好,这是一个构造函数");
   }
   public static void main(String args[]){
      new MyClass();
   }
}

输出结果

你好,这是一个构造函数

实例方法

这些是类的常规方法(非静态),您需要使用该类的对象来调用它们-

示例

public class MyClass {
   public void demo(){
      System.out.println("你好,这是一个实例方法");
   }
   public static void main(String args[]){
      new MyClass().demo();
   }
}

输出结果

你好,这是一个实例方法

执行顺序

当所有三个类都放在一个类中时,将首先执行静态块,然后执行构造函数,然后执行实例方法。

public class ExampleClass {
   static{
      System.out.println("你好,这是静态块");
   }
   ExampleClass(){
      System.out.println("你好,这是一个构造函数");
   }
   public static void demo() {
      System.out.println("你好,这是一个实例方法");
   }
   public static void main(String args[]){
      new ExampleClass().demo();
   }
}

输出结果

你好,这是静态块
你好,这是一个构造函数
你好,这是一个实例方法