Giao diện trong Java với Ví dụ

Giao diện trong là gì Java?

An Giao diện trong Java ngôn ngữ lập trình được định nghĩa là một kiểu trừu tượng được sử dụng để chỉ định hành vi của một lớp. MỘT Java giao diện chứa các hằng tĩnh và các phương thức trừu tượng. Một lớp có thể thực hiện nhiều giao diện. TRONG Java, các giao diện được khai báo bằng từ khóa giao diện. Tất cả các phương thức trong giao diện đều hoàn toàn công khai và trừu tượng.

Cú pháp khai báo giao diện

Để sử dụng một giao diện trong lớp của bạn, hãy thêm từ khóa “implements” sau tên lớp của bạn, sau đó là tên giao diện.

interface {
//methods
}

Ví dụ về giao diện triển khai

Bây giờ, hãy hiểu giao diện trong Java với ví dụ:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Nhấp chuột đây nếu video không thể truy cập được

Tại sao cần có Giao diện?

Để hiểu cách sử dụng giao diện trong Java tốt hơn, hãy xem một Java ví dụ về giao diện. Lớp “Media Player” có hai lớp con: đầu đĩa CD và đầu đĩa DVD. Mỗi cái đều có giao diện triển khai độc đáo trong Java phương pháp chơi nhạc.

Tại sao cần có Giao diện

Một lớp “Combo drive” khác đang kế thừa cả CD và DVD (xem hình bên dưới). Phương pháp chơi nào nên kế thừa? Điều này có thể gây ra vấn đề thiết kế nghiêm trọng. Và do đó, Java không cho phép nhiều thừa kế.

Tại sao cần có Giao diện

Bây giờ hãy lấy một ví dụ khác về Dog.

Giả sử bạn có một yêu cầu trong đó lớp “chó” kế thừa lớp “động vật” và “Thú cưng” (xem hình ảnh bên dưới). Nhưng bạn không thể mở rộng hai lớp trong Java. Vậy bạn sẽ làm gì? Giải pháp là Giao diện.

Tại sao cần có Giao diện

Sách quy tắc cho giao diện cho biết,

  • A Java giao diện triển khai là lớp trừu tượng 100% và chỉ có các phương pháp trừu tượng
  • Lớp có thể thực hiện bất kỳ số lượng giao diện nào.

Lớp Dog có thể mở rộng sang lớp “Động vật” và triển khai giao diện là “Thú cưng”.

Tại sao cần có Giao diện

Java Ví dụ về giao diện:

Hãy cùng tìm hiểu giao diện chương trình dưới đây trong Java:

Bước 1) Sao chép mã sau vào trình soạn thảo.

interface Pet{
  public void test();
}
class Dog implements Pet{
   public void test(){
     System.out.println("Interface Method Implemented");
  }
   public static void main(String args[]){
     Pet p = new Dog();
     p.test();
  }
}

Bước 2) Lưu, biên dịch và chạy mã. Quan sát đầu ra của giao diện trong Java chương trình.

Sự khác biệt giữa Lớp và Giao diện

Lớp
Giao thức
Trong lớp, bạn có thể khởi tạo biến và tạo đối tượng. Trong giao diện, bạn không thể khởi tạo biến và tạo đối tượng.
Lớp có thể chứa các phương thức cụ thể (có triển khai) Giao diện không thể chứa các phương thức cụ thể (có triển khai)
Các chỉ định truy cập được sử dụng với các lớp là riêng tư, được bảo vệ và công khai. Trong Giao diện chỉ có một thông số xác định được sử dụng - Công khai.

Khi nào nên sử dụng Giao diện và Lớp trừu tượng?

  • Sử dụng lớp trừu tượng khi cần xác định mẫu cho một nhóm lớp con
  • Sử dụng giao diện khi cần xác định vai trò cho các lớp khác, bất kể cây kế thừa của các lớp này

Phải biết sự thật về Giao diện

  • A Java lớp có thể thực hiện nhiều Java Giao diện. Điều cần thiết là lớp phải triển khai tất cả các phương thức được khai báo trong các giao diện.
  • Lớp nên ghi đè tất cả các phương thức trừu tượng được khai báo trong giao diện
  • Giao diện cho phép gửi tin nhắn đến một đối tượng mà không cần quan tâm đến nó thuộc lớp nào.
  • Lớp cần cung cấp chức năng cho các phương thức được khai báo trong giao diện.
  • Tất cả các phương thức trong một giao diện đều hoàn toàn công khai và trừu tượng
  • Một giao diện không thể được khởi tạo
  • Một tham chiếu giao diện có thể trỏ đến các đối tượng của các lớp triển khai của nó
  • Một giao diện có thể mở rộng từ một hoặc nhiều giao diện. Lớp chỉ có thể mở rộng một lớp nhưng thực hiện bất kỳ số lượng giao diện nào
  • Một giao diện không thể triển khai Giao diện khác. Nó phải mở rộng giao diện khác nếu cần.
  • Một giao diện được khai báo bên trong một giao diện khác được gọi là giao diện lồng nhau
  • Tại thời điểm khai báo, biến giao diện phải được khởi tạo. Nếu không, trình biên dịch sẽ báo lỗi.
  • Lớp không thể triển khai hai giao diện trong java có các phương thức có cùng tên nhưng kiểu trả về khác nhau.

Tóm tắt:

  • Lớp triển khai giao diện cần cung cấp chức năng cho các phương thức được khai báo trong giao diện
  • Tất cả các phương thức trong một giao diện đều hoàn toàn công khai và trừu tượng
  • Một giao diện không thể được khởi tạo
  • Một tham chiếu giao diện có thể trỏ đến các đối tượng của các lớp triển khai của nó
  • Một giao diện có thể mở rộng từ một hoặc nhiều giao diện. Một lớp chỉ có thể mở rộng một lớp nhưng thực hiện bất kỳ số lượng giao diện nào