Sự Khác Nhau Giữa Abstract Class Và Interface

Xem 2,772

Cập nhật thông tin chi tiết về Sự Khác Nhau Giữa Abstract Class Và Interface mới nhất ngày 06/03/2021 trên website Ceblaza.net. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 2,772 lượt xem.

--- Bài mới hơn ---

  • Bách Hợp Là Gì, Công Thụ Trong Bách Hợp Là Gì, Fan Bách Hợp Là Gì 2021? - Xem 2,376
  • Nhân Văn Là Gì? Như Thế Nào Là Lối Sống Nhân Văn? - Xem 3,069
  • Văn Hóa Là Gì? Những Khái Niệm Cần Phải Biết Về Văn Hóa - Xem 2,376
  • Sân Si Là Gì? Ý Nghĩa & Những Điều Cần Biết Về Tham, Sân, Si - Xem 2,574
  • Hạnh …phúc …là Gì … Bạn Biết Không ? - Xem 2,277
  • Sự khác nhau giữa Abstract class và Interface

    Abstract class và interface đều được sử dụng để có được sự trừu tượng mà ở đó chúng ta có thể khai báo các phương thức trừu tượng. Nhưng có một vài sự khác nhau giữa abstract class và interface được liệt kê trong bảng sau:

    Abstract class Interface

    1) Abstract class có phương thức abstract (không có thân hàm) và phương thức non-abstract (có thân hàm).

    Interface chỉ có phương thức abstract. Từ java 8, nó có thêm các phương thức default và static.

    2) Abstract class không hỗ trợ đa kế thừa.

    Interface có hỗ trợ đa kế thừa

    3) Abstract class có các biến final, non-final, static and non-static.

    Interface chỉ có các biến static và final.

    4) Abstract class có thể cung cấp nội dung cài đặt cho phương thức của interface.

    Interface không thể cung cấp nội dung cài đặt cho phương thức của abstract class.

    5) Từ khóa abstract được sử dụng để khai báo abstract class.

    Từ khóa interface được sử dụng để khai báo interface.

    6) Ví dụ:

    public abstract class Shape {

    public abstract void draw();

    }

    Ví dụ:

    public interface Drawable {

    void draw();

    }

    Đơn giản để hiểu, đó là abstract class có được trừu tượng 1 phần (0 tới 100%), còn interface có được trừu tường toàn phần (100%).

    Ví dụ về abstract class và interface trong java

    Ví dụ sau là sự kết hợp giữa abstract class và interface.

    //tạo interface có 4 phương thức interface A { void a(); abstract void b(); public void c(); public abstract void d(); } // tạo abstract class cung cấp cài đặt cho một phương thức của interface A abstract class B implements A { public void c() { System.out.println("I am C"); } } // tạo subclass của abstract class B, cung cấp cài đặt cho các phương thức còn lại class M extends B { public void a() { System.out.println("I am a"); } public void b() { System.out.println("I am b"); } public void d() { System.out.println("I am d"); } } // tạo lớp Test5 để gọi các phương thức của interface A public class Test5 { public static void main(String args[]) { A a = new M(); a.a(); a.b(); a.c(); a.d(); } }

    Output:

    I am a I am b I am C I am d

    --- Bài cũ hơn ---

  • Phân Biệt Lớp Abstract Và Interface Trong Java - Xem 2,475
  • Spring Boot Là Gì? Giới Thiệu Spring Boot Framework - Xem 3,861
  • Hướng Dẫn Lập Trình Spring Boot Cho Người Mới Bắt Đầu - Xem 1,881
  • Ainme Series: Jojo’s Bizarre Adventure (Part 1) - Xem 2,475
  • Từ Khóa Static Trong Java Và Lập Trình Hướng Đối Tượng - Xem 3,168
  • Bạn đang xem bài viết Sự Khác Nhau Giữa Abstract Class Và Interface trên website Ceblaza.net. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!

    Share FB »