Java 中的静态块和构造函数有什么区别?

javaobject oriented programmingprogramming更新于 2024/7/26 5:12:00

静态块

  • 静态块在类加载时执行。
  • 静态块在运行main()方法之前执行。
  • 静态块在其原型中没有任何名称。
  • 如果我们想要在类加载时执行任何逻辑,则需要将该逻辑放在静态块内,以便在类加载时执行。

语法

static {
   //some statements
}

示例

public class StaticBlockTest {
   static {
      System.out.println("Static Block!");
   }
   public static void main(String args[]) {
      System.out.println("Welcome to Tutorials Point!");
   }
}

输出

Static Block!
Welcome to Tutorials Point!

构造函数

  • 在 Java 中创建对象时,将执行构造函数
  • 在创建类的对象时,将调用构造函数
  • 构造函数的名称必须始终与类的名称相同
  • 对于一个对象,构造函数只会调用一次,并且只要我们可以创建一个对象,它就会被调用多次。即,在创建对象时,构造函数会自动执行。

语法

public class MyClass {
   //This is the constructor
   MyClass() {
      // some statements
   }
}

示例

public class ConstructorTest {
   static {
      //static block
      System.out.println("In Static Block!");
   }
   public ConstructorTest() {
      System.out.println("In a first constructor!");
   }
   public ConstructorTest(int c) {
      System.out.println("In a second constructor!");
   }
   public static void main(String args[]) {
      ConstructorTest ct1 = new ConstructorTest();
      ConstructorTest ct2 = new ConstructorTest(10);
   }
}

输出

In Static Block!
In a first constructor!
In a second constructor!

相关文章