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

Việc sử dụng các phương thức mặc định trong Java là gì?

Giao diện trong Java tương tự như lớp nhưng nó chỉ chứa các phương thức và trường trừu tượng là cuối cùng và tĩnh.

  • Đây là một đặc tả của các nguyên mẫu phương pháp. Bất cứ khi nào bạn cần hướng dẫn lập trình viên hoặc lập một hợp đồng chỉ định cách các phương thức và trường của một loại phải là bạn có thể xác định giao diện.
  • Nếu bạn cần lớp của mình tuân theo một thông số kỹ thuật nhất định, bạn cần triển khai giao diện bắt buộc và cung cấp nội dung cho tất cả các phương thức trừu tượng trong giao diện đó.
  • Nếu bạn không cung cấp cách triển khai tất cả các phương thức trừu tượng của một giao diện (bạn, triển khai) thì sẽ xảy ra lỗi thời gian biên dịch.

Điều gì sẽ xảy ra nếu các phương thức mới được thêm vào các giao diện?

Giả sử chúng ta đang sử dụng một giao diện nhất định và thực hiện tất cả các phương thức trừu tượng trong giao diện đó và các phương thức mới đã được thêm vào sau đó. Sau đó, tất cả các lớp sử dụng giao diện này sẽ không hoạt động trừ khi bạn triển khai các phương thức mới được thêm vào trong mỗi lớp.

Để giải quyết vấn đề này từ các phương pháp mặc định của Java8 được giới thiệu.

Phương thức mặc định

Phương thức mặc định còn được gọi là phương pháp bảo vệ hoặc phương thức mở rộng ảo. Bạn có thể xác định một phương pháp mặc định bằng cách sử dụng mặc định từ khóa dưới dạng -

default void display() {
   System.out.println("This is a default method");      
}

Sau khi viết một triển khai mặc định cho một phương thức cụ thể trong một giao diện. không cần phải triển khai nó trong các lớp đã sử dụng (triển khai) giao diện này.

Ví dụ Java sau đây trình bày cách sử dụng phương thức mặc định trong Java.

Ví dụ

interface sampleInterface{  
   public void demo();  
   default void display() {
      System.out.println("This is a default method");      
   }
}
public class DefaultMethodExample implements sampleInterface{
   public void demo() {
      System.out.println("This is the implementation of the demo method");
   }  
   public static void main(String args[]) {      
      DefaultMethodExample obj = new DefaultMethodExample();
      obj.demo();
      obj.display();      
   }
}

Đầu ra

This is the implementation of the demo method
This is a default method