Sự khác nhau giữa abstract và interface trong java

     
Abstract Class – Interface

quý khách hàng vẫn nghe vào Java không cung ứng nhiều quá kế (nhằm mục tiêu tránh sự tinh vi, xung bỗng code)

với để nhằm mục đích hạn chế và khắc phục điều đó ta cần sử dụng interface (Cho phnghiền nhiều class implements những interface).

Bạn đang xem: Sự khác nhau giữa abstract và interface trong java

Vậy sự khác nhau giữa abstract class cùng với interface là gì, phương pháp sử dụng bọn chúng trong mỗi trường vừa lòng ra sao?

1. Ý nghĩa của abstract class cùng interface

abstract class:

quý khách hàng đề nghị nhớ Java là ngôn ngữ phía đối tượng, dùng abstract class nó sẽ mang ý nghĩa sâu sắc là quá kế thực chất của đối tượng.lấy ví dụ như Student extends Persontrọn vẹn phải chăng do học viên và tín đồ đầy đủ thuộc thực chất, nhưng lại Student extends Car lại không phù hợp, do học viên với ô tô khác hoàn toàn nhau về thực chất.

*

interface:

khi nói tới interface người ta thường được sử dụng mang đến hành động các hơn

Với abstract class thì fan ta đã gộp tầm thường những trực thuộc tính lại, còn cùng với interface thì bạn ta vẫn gộp phổ biến những hành động lại.

Xem thêm: Ngọc Sơn Nước Mắt Lã Chã Nhắc Lại Quá Khứ Đi Tù, Ngọc Sơn (Singer)

lấy ví dụ như Student implements Run học sinh có thể tiến hành hành vi chạy, Student implements Eat học sinh rất có thể triển khai hành động nạp năng lượng –> Student implements Run, Eat học viên rất có thể thực hiện cả 2 hành động là chạy với ăn –> trọn vẹn thích hợp lý

*
Túm lại:

Abstract class chủ yếu về bản chất của đối tượng (những ở trong tính)Interface chủ yếu về các hành vi của đối tượng người tiêu dùng (những method).

Xem thêm: Tiểu Sử Ca Sĩ Kelvin Khánh Sinh Năm, Kelvin Khánh Sinh Năm

2. Sự không giống nhau vào cài đặt abstract class với interface

Từ chân thành và ý nghĩa nhưng mà abstract class với interface cũng đều có số đông khác nhau trong cài đặt:

Abstract classInterface
1 abstract class chỉ rất có thể extends 1 cùng chỉ một class /abstract class khác1 interface có thể extends những interface khác; interface chỉ rất có thể extends interface bắt buộc extends class
Trong abstract class có thể tất cả concrete method hoặc abstract methodTrong interface, rất nhiều method đều là abstract method

(*Từ Java 8 được cho phép thêm method không hẳn là abstract vào interface bằng trường đoản cú khóa default)

Trong abstract class Lúc mong mỏi chế tạo abstract method cần phải có trường đoản cú khóa abstract Từ khóa abstract hoàn toàn có thể tất cả hoặc không.
abstract method trong abstract class hoàn toàn có thể là public hoặc protectedabstract method vào abstract class chỉ có thể là public

(*Từ Java 9 có thể chấp nhận được thêm method private với private static vào Interface)

Trong abstract class, các nằm trong tính có thể final, static, public, private, protectedTrong Interface, đầy đủ ở trong tính rất nhiều là public static final


Chuyên mục: