Bạn hãy cho biết sự khác nhau giữa một Interface và một lớp trừu tượng (Abstract class) trong Java?
Trả lời (1)
-
Bảng so sánh sự khác nhau giữa Interface và Abstract Class:
Lớp trừu tượng (abstract class)
Interface
Thể hiện tính trừu tượng < 100%
Thể hiện tính trừu tượng 100% (Java < 8).
Lớp trừu tượng có thể có các phương thức abstract và non-abstract
Phiên bản Java < 8, Interface chỉ có thể có phương thức abstract.
Phiên bản Java 8, có thể thêm default và static methods.
Phiên bản Java 9, có thể thêm private methods.Lớp trừu tượng không hỗ trợ đa kế thừa
Interface hỗ trợ đa kế thừa
Lớp trừu tượng có thể có các biến final, non-final, static và non-static
Interface chỉ có các biến static final
Lớp trừu tượng có thể có phương thức static, phương thức main và constructor
Interface không thể có phương thức static, main hoặc constructor.
Từ khóa abstract được sử dụng để khai báo lớp trừu tượng
Từ khóa interface được sử dụng để khai báo Interface
Lớp trừu tượng có thể cung cấp trình triển khai của Interface
Interface không cung cấp trình triển khai cụ thể của lớp abstract
Ví dụ:
public abstract class Shape {
public abstract void draw();
}Ví dụ:
public interface Drawable {
void draw();
}Sử dụng Abstract class khi chúng ta chỉ có thể hoàn thành một vài chức năng (method/ function) chuẩn của hệ thống, một vài chức năng còn lại các lớp extends phải hoàn thành. Những tính năng đã hoàn thành này vẫn sử dụng như bình thường, đây là những tính năng chung.
Sử dụng Interface khi bạn muốn tạo dựng một bộ khung chuẩn gồm các chức năng (method/ function) mà tất cả module/ project cần phải có. Các module phải implements tất cả chức năng đã được định nghĩa.
bởi Mai Trang 25/11/2021Like (0) Báo cáo sai phạm
Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!
Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản
Các câu hỏi mới
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
A. Ubuntu.
B. BKAV.
C. Kapersky.
D. Antivirus.
01/12/2022 | 2 Trả lời
-
A. Worm, sâu máy tính
B. Trojan
C. Virus
D. BKAV.
19/12/2022 | 1 Trả lời
-
Nhập vào danh sách b với n phần tử số nguyên. Hãy tính tổng các phần tử lẻ trong b
17/02/2023 | 0 Trả lời
-
Khi đó vòng biểu diễn bởi một xâu S gồm N ký tự trong tập ['1'...'9']. Để tăng tính độc đáo cho vòng trang sức quý này, người ta lắp khóa đẹp vào vị trí sao cho khi mở vòng ra được một dãy đá quý có tính chất không phụ thuộc vào việc cầm đầu dây này bên tay phải dầu kia bên tay trái hay ngược lại ta đều được chuỗi giống nhau tức là viên đá thứ i từ trái sang luôn có màu gì không phụ thuộc vào cách cầm Hãy đếm số cách đặt khóa
Ví dụ: xâu S: 222222335533
+222334433222
+533222222335
Viết chương trình trong python
03/04/2023 | 0 Trả lời
-
In và đếm các số nguyên tố có trong danh sách
05/04/2023 | 0 Trả lời
-
Cho a là 1 danh sách chỉ gồm các số nguyên. Hãy viết chương trình tạo và in ra dsach b chỉ gồm các số chẵn trong a?
05/04/2023 | 0 Trả lời
-
a. Đếm và thông báo số từ trong xâu đó
b. Thông báo ra màn hình từ đầu tiên của xâu
25/04/2023 | 0 Trả lời