Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa một khối tĩnh và một phương thức khởi tạo trong Java là gì?

Khối tĩnh

  • s khối tatic được thực thi tại thời điểm tải lớp .
  • s khối tatic được thực thi trước khi chạy phương thức main () .
  • tĩnh khối không có bất kỳ tên nào trong nguyên mẫu của nó.
  • Nếu chúng ta muốn bất kỳ logic nào cần được thực thi tại thời điểm tải lớp, logic đó cần được đặt bên trong khối tĩnh để nó sẽ được thực thi tại thời điểm tải lớp.

Cú pháp

static {
   //some statements
}

Ví dụ

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

Đầu ra

Static Block!
Welcome to Tutorials Point!


Khối mã lệnh

  • A Khối mã lệnh sẽ được thực thi trong khi tạo đối tượng trong Java.
  • A Khối mã lệnh được gọi trong khi tạo một đối tượng của một lớp.
  • Tên của một phương thức khởi tạo phải luôn là cùng tên với một lớp .
  • A Khối mã lệnh chỉ được gọi một lần cho một đối tượng và nó được gọi nhiều lần khi chúng ta có thể tạo một đối tượng. tức là hàm tạo được thực thi tự động khi đối tượng được tạo.

Cú pháp

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

Ví dụ

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);
   }
}

Đầu ra

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