× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Interface trong Java - Tìm hiểu về giao diện trong Java

04/08/2021 01:33

Giao diện là một trong những thứ chúng ta tiếp xúc thường xuyên nhất, từ những màn hình điện thoại để lướt mạng xã hội hay những màn hình máy ATM đến những biển hiệu điện tử để quảng cáo. Đây điều là những thứ quen thuộc, hiện diện trực tiếp hoặc gián tiếp  trong đời sống của chúng ta. Nếu xét từ khía cạnh lập trình, một giao diện sẽ nằm giữa hai thành phần phần mềm. Chúng ta luôn sử dụng các giao diện trong chương trình nhưng không biết chính xác ý nghĩa và cách sử dụng của giao diện này.  Trong bài viết hôm nay, T3H sẽ cùng các bạn tìm hiểu về khái niệm Interface trong Java hay còn gọi là giao diện trong Java.

Interface trong Java - Giao diện trong Java

Trong Java, giao diện là một bản thiết kế hoặc mẫu của một lớp. Nó tương tự như lớp Java nhưng sự khác biệt duy nhất là nó có các phương thức trừu tượng và các hằng số tĩnh. Chỉ có thể có các phương thức trừu tượng trong một giao diện, tức là không có body method nào bên trong các phương thức trừu tượng này. Lớp thực thi giao diện nên  là lớp trừu tượng, nếu không, chúng ta sẽ cần xác định tất cả các phương thức của giao diện trong lớp.

Interface trong Java

Các điểm quan trọng về Interface trong Java:

  • Giao diện là một trong những khái niệm cốt lõi của lập trình Java được sử dụng chủ yếu trong các mẫu thiết kế Java.
  • Một giao diện cung cấp thông số kỹ thuật về những gì một lớp nên làm hay không và cách nó nên làm. Một giao diện trong Java về cơ bản có một tập hợp các phương thức mà lớp có thể áp dụng hoặc không.
  • Nó cũng có khả năng thực hiện một chức năng. Các phương thức trong giao diện không chứa bất kỳ phần thân nào.
  • Các phương thức trừu tượng này được thực hiện bởi các lớp trước khi truy cập chúng.
  • Một giao diện trong Java là một cơ chế mà chúng tôi chủ yếu sử dụng để đạt được tính trừu tượng và đa kế thừa trong Java.
  • Một giao diện cung cấp một tập hợp các đặc tả mà các lớp khác phải thực hiện.
  • Chúng ta có thể triển khai nhiều Giao diện Java bởi một lớp Java. Tất cả các phương thức của một giao diện là hoàn toàn công khai và trừu tượng. Từ trừu tượng có nghĩa là các phương thức này không có thân phương thức, chỉ có ký hiệu phương thức.
  • Giao diện Java cũng đại diện cho mối quan hệ kế thừa IS-A giữa hai lớp.
  • Một giao diện có thể kế thừa hoặc mở rộng nhiều giao diện.
  • Chúng ta có thể triển khai nhiều hơn một giao diện trong lớp của mình.

>>> Đọc thêm: Tìm hiểu sự khác biệt giữa Java và Python: những khác biệt nổi bật

Sự khác biệt giữa Interface và Lớp trong Java

  • Không giống như một lớp, bạn không thể khởi tạo hoặc tạo một đối tượng của giao diện.
  • Tất cả các phương thức trong một giao diện nên được khai báo là trừu tượng.
  • Một interface trong Java không chứa bất kỳ hàm tạo nào, nhưng một lớp có thể.
  • Một giao diện không thể chứa các trường cá thể. Nó chỉ có thể chứa các trường được khai báo là tĩnh và cuối cùng.
  • Một giao diện không thể được mở rộng hoặc kế thừa bởi một lớp; nó được thực hiện bởi một lớp.
  • Một interface trong Java không thể triển khai bất kỳ lớp nào hoặc một giao diện khác.

Cú pháp khai báo Interfaces trong Java:

Để khai báo một giao diện, từ khóa interface được sử dụng. Đây là cú pháp để khai báo một giao diện:

 

interface interface-name

{

  //abstract methods

}

 

Ví dụ:

//Filename: NameOfInterface.java




                    import java.lang.*;

                    // Any number of import statements




                    interface NameOfInterface

                    {

                           // Any number of final, static fields

                           // Any number of abstract method declarations

                    }

Ví dụ:

interface Animal

{

   public void eat();

   public void travel();

}

>>> Đọc thêm: Reflection trong Java - Tìm hiểu về Reflection trong Java trong 5 phút

Thuộc tính của giao diện Java

Giao diện có các thuộc tính sau:

  • Một giao diện trong java sẽ hoàn toàn là abstract. Trong khi khai báo một giao diện, bạn không cần sử dụng từ khóa abstract (trừu tượng) .
  • Mỗi phương thức của một giao diện cũng hoàn toàn trừu tượng, vì vậy chúng ta không cần sử dụng từ khóa trừu tượng trong khi khai báo các phương thức bên trong một giao diện.
  • Mỗi phương thức trong một giao diện là hoàn toàn công khai.
  • Tất cả các biến được định nghĩa trong một giao diện là công khai, tĩnh và cuối cùng. Nói cách khác, các giao diện chỉ có thể khai báo các hằng chứ không phải các biến thể hiện.

Ưu điểm của Interface trong Java

  • Sử dụng các giao diện để đạt được data abstraction.
  • Chúng ta cũng sử dụng chúng để hỗ trợ chức năng của đa kế thừa trong Java.

Triển khai Interface trong Java

Một lớp thực hiện một giao diện có thể được coi là lớp chỉ định một contract . Điều này có nghĩa là lớp đồng ý thực hiện các hành vi cụ thể của giao diện. Trừ khi một lớp được khai báo là trừu tượng, nó sẽ thực hiện tất cả các hành vi của giao diện.

Để triển khai một giao diện, một lớp sử dụng từ khóa triển khai. Từ khóa triển khai xuất hiện trong khai báo lớp sau phần mở rộng của khai báo.

Giao diện lồng nhau

Giao diện được khai báo bên trong giao diện hoặc lớp khác được gọi là giao diện lồng nhau hoặc giao diện bên trong.

Không thể truy cập trực tiếp Giao diện lồng nhau. Chúng ta  chủ yếu sử dụng giao diện lồng nhau để giải quyết vùng tên bằng cách nhóm các giao diện liên quan hoặc các giao diện và lớp có liên quan lại với nhau. Chúng tôi sử dụng tên của lớp bên ngoài hoặc giao diện bên ngoài theo sau là dấu chấm (.), Theo sau là tên giao diện để gọi giao diện lồng nhau.

Kết luận: Giao diện là bản thiết kế của các lớp nhưng không hoàn toàn giống với các lớp. Cả hai đều khác nhau về nhiều mặt. Qua bài viết này, hy vọng bạn có thể hiểu rõ về Interface trong Java và ứng dụng được Interface trong quá trình làm việc. Tìm hiểu thêm về Java và các ngôn ngữ lập trình khác qua các khóa học lập trình tại  Viện công nghệ thông tin T3H.

Nguồn: techvidvan