Skip to content
  • Bảng vàng Mankai
  • Tin tức
  • Liên hệ
  • VI
  • JP
Mankai AcademyMankai Academy
  • Giới thiệu
    • Về Mankai
    • Đội ngũ
  • JLPT
  • Kaiwa
  • Sơ cấp
  • Tokutei
  • IT Talk
  • Đào tạo doanh nghiệp
Trang chủ / Kiến thức chuyên môn / Interface Trong Java Là Gì Bạn Đã Biết Chưa?
  • Dành cho người mới bắt đầu
  • Dành cho người đã có nền tảng
  • Dành cho người muốn đi Nhật
  • Nhận kho tài liệu miễn phí
Test tư duy lập trình miễn phí

Đăng ký nhận tin tức từ Rikkei Academy

    29/05/2023

    Interface Trong Java Là Gì Bạn Đã Biết Chưa?

    Phí Thanh 04 phút đọc
    Interface Trong Java Rikkei Academy

    Mục lục

    Toggle
    • Interface trong Java là gì?
    • Mục đích sử dụng Interface trong Java
      • Tính trừu tượng hoàn toàn
      • Đa kế thừa
      • Tính đa hình
      • Kết nối lỏng (Loose Coupling)
    • Một số thao tác cơ bản của Interface trong Java
      • Khai báo Interface (Declare)
      • Triển khai Interface (Implement)
      • Mở rộng Interfaces (Extends)
      • Mở rộng nhiều Interfaces
      • Đánh dấu Interface (Tagging)
    • Mối quan hệ giữa lớp và interface trong Java
    • Kết luận

    Việc nắm vững các khái niệm cơ bản trong Java sẽ giúp bạn có một nền tảng chắc chắn trong quá trình học lập trình. Trong bài viết này, hãy cùng Rikkei Academy đi tìm hiểu về Interface trong Java là gì.

    Interface trong Java là gì?

    Trong Java, một interface là một cách chỉ định hành vi của một lớp bằng cách cung cấp một tập hợp phương thức trừu tượng. Interface là một trong những khái niệm cốt lõi của Java và được sử dụng để đạt được không chỉ tính trừu tượng mà còn tính đa hình và đa kế thừa.

    Một số đặc điểm nổi bật của Interface trong Java:

    • Interface không thể được sử dụng để tạo đối tượng.
    • Interface không thể chứa constructor
    • Các phương thức không có thân và thân phương thức được cung cấp bởi lớp triển khai.
    • Các phương thức trong interface được khai báo mặc định là trừu tượng (abstract) và công khai (public) và từ Java 9, bạn có thể khai báo phương thức private trong interface.
    • Với bản thấp hơn Java 8, khi triển khai một interface, tất cả các phương thức trong interface đó phải được ghi đè. Tuy nhiên, tại bản Java 8 giới thiệu phương thức mặc định (default method) cho phép b
    • Các thuộc tính trong interface được khai báo mặc định là công khai (public), tĩnh (static) và không thay đổi (final).

    >> Tìm hiểu thêm: 5 Phút Tìm Hiểu Về Abstract Class Trong Java

    Mục đích sử dụng Interface trong Java

    Interface trong Java được sử dụng để đạt một số mục đích chính sau:

    Một số mục đích sử dụng Interface trong Java
    Một số mục đích sử dụng Interface trong Java

    Tính trừu tượng hoàn toàn

    Trừu tượng hoàn toàn là khái niệm quan trọng trong lập trình hướng đối tượng. Tính trừu tượng hoàn toàn của interface chỉ định các phương thức hoặc các hành động mà một đối tượng có thể thực hiện mà không quan tâm đến cách thức thực hiện của chúng. Nó cho phép các đối tượng được tách biệt hoàn toàn với nhau và đảm bảo tính tương thích giữa các đối tượng khác nhau.

    Đa kế thừa

    Java không hỗ trợ đa kế thừa, nhưng sử dụng interface, bạn có thể đạt được đa kế thừa. Việc này cho phép một lớp triển khai nhiều interface và sử dụng các phương thức được định nghĩa trong các interface đó. Tính năng này giúp giảm sự lặp lại mã và tăng tính tái sử dụng trong lập trình hướng đối tượng.

    Tính đa hình

    Tính đa hình trong lập trình là khả năng của đối tượng để thực thi các phương thức khác nhau tùy thuộc vào loại đối tượng cụ thể mà nó đang tham chiếu đến trong runtime. Trong Java, chúng ta có thể đạt được tính đa hình bằng cách sử dụng các interface để triển khai các phương thức khác nhau cho các lớp khác nhau.

    Kết nối lỏng (Loose Coupling)

    Thuật ngữ Coupling (kết nối) mô tả sự phụ thuộc của một lớp vào lớp khác. Vì vậy, khi sử dụng một interface, chúng ta định nghĩa các phương thức và chữ ký (method signature) của chúng một cách độc lập. Như vậy, tất cả các phương thức và lớp đều hoàn toàn độc lập, không phụ thuộc vào nhau, từ đó đạt được Loose Coupling (kết nối lỏng).

    Một số thao tác cơ bản của Interface trong Java

    Dưới đây là một số thao tác cơ bản với Interface trong Java:

    Khai báo Interface (Declare)

    Để khai báo Interface trong Java chúng ta sử dụng cú pháp sau:

    [access modifier] interface <tên Interface> [extends SuperInterface1, SuperInterface2, …] {

    // Khai báo phương thức và biến trong Interface

    }

    Trong đó:

    • Access modifier: chỉ phạm vi truy cập của interface, gồm public, default hoặc private (Java 9)
    • SuperInterface1, SuperInterface2,… là danh sách các interface mà interface hiện tại được kế thừa (nếu có)

    Trong một interface, chúng ta được phép khai báo:

    • Biến, hằng số
    • Phương thức trừu tượng (abstract method)
    • Phương thức static (static method)
    • Phương thức mặc định (default method) hỗ trợ từ Java 8

    Triển khai Interface (Implement)

    Khi một lớp triển khai một interface, bạn có thể coi lớp đó như đang ký hợp đồng, đồng ý thực hiện các hành vi cụ thể của interface. Nếu một lớp không thực hiện tất cả các hành vi của interface, lớp đó phải khai báo mình là abstract.

    Một lớp sử dụng từ khóa “implements” để triển khai một interface. Từ khóa “implements” xuất hiện trong khai báo lớp sau phần “extends” của khai báo.

    Ví dụ:

    // Khai báo interface

    public interface Printable {

        void print();

    }

    // Triển khai interface

    public class Document implements Printable {

        public void print() {

            System.out.println(“Printing a document…”);

        }

    }

    // Sử dụng đối tượng triển khai interface

    public class Main {

        public static void main(String[] args) {

            Printable obj = new Document();

            obj.print(); // Output: Printing a document…

        }

    }

    Trong ví dụ này, interface Printable định nghĩa một phương thức print(). Lớp Document triển khai interface này bằng cách cung cấp một cài đặt cho phương thức này. Trong phương thức print() của Document, ta đơn giản in ra một thông báo.

    Mở rộng Interfaces (Extends)

    Một interface có thể mở rộng một interface khác giống như một lớp có thể mở rộng một lớp khác. Từ khóa “extends” được sử dụng để mở rộng một interface, và interface con kế thừa các phương thức của interface cha.

    // Khai báo interface cha

    public interface Animal {

        void eat();

    }

    // Khai báo interface con mở rộng interface cha

    public interface Cat extends Animal {

        void play();

    Trong ví dụ này, interface Animal định nghĩa phương thức eat(). Interface Cat mở rộng Animal và định nghĩa thêm một phương thức play(). Bằng cách này, khi bạn triển khai interface Cat, bạn sẽ cần cung cấp cả hai phương thức eat() và play().

    Mở rộng nhiều Interfaces

    Một lớp Java chỉ có thể mở rộng một lớp cha. Đa thừa kế không được phép. Tuy nhiên, các interface không phải là các lớp và một interface có thể mở rộng nhiều hơn một interface cha. Từ khóa “extends” được sử dụng một lần, và các interface cha được khai báo trong một danh sách phân tách bằng dấu phẩy.

    Nếu ví dụ phía trên có 1 interface cha là Animal và 1 interface con là Cat, tại đây chúng ta thêm 1 interface là Earth thì chúng ta sẽ viết như sau:

    public interface Cat extends Animal, Earth 

    Đánh dấu Interface (Tagging)

    Trong Java, đánh dấu một lớp hoặc interface là một cách để chỉ định rằng lớp hoặc interface đó có chức năng gì đó đặc biệt. Ví dụ, interface Serializable được sử dụng để chỉ định rằng một đối tượng có thể được chuyển đổi thành một dạng dữ liệu có thể lưu trữ hoặc chuyển qua mạng. Việc đánh dấu interface là một cách để cung cấp cho trình biên dịch hoặc các công cụ khác thông tin về tính chất của một đối tượng hoặc lớp

    Ví dụ:

    package java.io;

    public interface Serializable {

    }

    Mục đích đánh dấu interface là để:

    • Để tạo một interface cha chung giữa các interface có liên quan và thêm một kiểu dữ liệu vào một lớp.
    • Thêm một kiểu dữ liệu vào một lớp. Một lớp khi triển khai một interface đánh dấu không cần phải định nghĩa bất kỳ phương thức nào (vì interface không có phương thức), nhưng lớp đó trở thành một kiểu interface thông qua đa hình.

    Mối quan hệ giữa lớp và interface trong Java

    Lớp có thể triển khai một hoặc nhiều interface để định nghĩa các phương thức mà lớp đó cần phải cài đặt. Interface chỉ định nghĩa các phương thức mà các lớp triển khai phải cài đặt. Như được hiển thị trong hình dưới đây, một lớp kế thừa từ một lớp khác, một giao diện kế thừa từ một giao diện khác và một lớp triển khai một interface.

    Mối quan hệ giữa lớp và interface trong Java
    Mối quan hệ giữa lớp và interface trong Java

    >> Đọc thêm: Interface Và Abstract Class Java: Khác Biệt Và Cách Sử Dụng

    Kết luận

    Qua bài viết này, Rikkei Academy đã giúp bạn hiểu rõ hơn về Interface trong Java. Với các bạn mới bắt đầu tìm hiểu về lập trình Java, việc nắm vững các khái niệm cơ bản là vô cùng quan trọng để giúp bạn xây dựng một nền tảng vững chắc giúp quá trình học lập trình trở nên nhanh chóng và hiệu quả hơn!

    Nếu bạn đang tìm kiếm một khóa học lập trình với lộ trình tinh gọn, kiến thức, kỹ năng bám sát thực tế và cam kết việc làm thì hãy tham khảo Rikkei Academy nhé! Để nhận thông tin chi tiết, đăng ký tại đây để nhận tư vấn miễn phí nhé!

    Nguồn tham khảo:

    https://www.javatpoint.com/interface-in-java

    https://www.tutorialspoint.com/java/java_interfaces.htm

    Bài viết cùng chủ đề

    • Lo Trinh Hoc Front End Rikkei Academy 16/06/202304 phút đọc Lộ Trình Học Front End Chi Tiết Cho Người Mới Bắt Đầu 2023
    • học lập trình có khó không 01/06/202204 phút đọc HỌC LẬP TRÌNH LÀ HỌC GÌ? HỌC LẬP TRÌNH CÓ KHÓ KHÔNG?
    • 4 Tinh Chat Opp Java Rikkei Academy 07/06/202304 phút đọc 4 Tính Chất OOP Java Thể Hiện Như Thế Nào?
    • Ung Dung Java Rikkei Academy 20/05/202304 phút đọc Top 10 ứng dụng Java phổ biến nhất hiện nay
    • Generic Trong Java Rikkei Academy 03/07/202304 phút đọc Generic Trong Java: 5 Phút Giải Mã Tất Tần Tất
    • Lộ trình học lập trình Java cơ bản 21/09/202204 phút đọc Lộ trình học lập trình Java cơ bản

    Khởi động hành trình của bạn

    Hãy bước vào hành trình mới để khám phá tiềm năng và chinh phục những mục tiêu của bạn ngay hôm nay.

    Liên hệ Nhận tư vấn

    HỌC VIỆN ĐÀO TẠO VÀ PHÁT TRIỂN TIẾNG NHẬT THỰC CHIẾN

    HỌC VIỆN ĐÀO TẠO VÀ PHÁT TRIỂN TIẾNG NHẬT THỰC CHIẾN

    THÔNG TIN LIÊN HỆ

    Địa chỉ: Tòa nhà Sông Đà, Đường Phạm Hùng, Mỹ Đình, Nam Từ Liêm, Hà Nội

    Hotline: 0835 662 538

    Email: support@mankai.edu.vn

    LIÊN KẾT NHANH

    Giới thiệu
    JLPT
    Kaiwa
    Sơ cấp
    IT Talk
    Tokutei
    Đào tạo Doanh ngiệp
    Bảng vàng Mankai
    Tin tức
    Liên hệ

    THEO DÕI CHÚNG TÔI TẠI

    Copyright 2024 © Mankai Academy All rights reserved.
    • Về chúng tôi
    • Khác
    • Bảng vàng Mankai
    • Tin tức
    • Liên hệ
    • Giới thiệu
      • Về Mankai
      • Đội ngũ
    • JLPT
    • Kaiwa
    • Sơ cấp
    • Tokutei
    • IT Talk
    • Đào tạo doanh nghiệp