Chapter 9. Interfaces
Quotes: *Đừng theo đuổi mà hãy thu hút.
🔥 1. Giới thiệu về Giao diện (Interfaces)
Giao diện (Interface) trong Java là một tập hợp các phương thức trừu tượng (abstract methods) và các hằng số (constants).
Một interface không thể tạo đối tượng trực tiếp, nhưng có thể được các lớp khác triển khai (implement).
Kể từ Java 8, interface có thể chứa:
Phương thức mặc định (default methods)
Phương thức tĩnh (static methods)
Phương thức riêng tư (private methods) (từ Java 9)
📌 Ví dụ cơ bản về Interface:
🔥 2. Cú pháp khai báo Giao diện
Cú pháp:
📌 Ví dụ:
🔥 3. Triển khai Interface trong Java
Một lớp có thể triển khai (implement) một hoặc nhiều giao diện bằng từ khóa implements
.
🔥 4. Một lớp có thể triển khai nhiều Giao diện
Một lớp có thể triển khai nhiều giao diện cùng lúc.
🔥 5. Phương thức mặc định (Default Methods)
Từ Java 8, interface có thể chứa phương thức mặc định (
default
) có phần thân (body).Các lớp triển khai không bắt buộc phải override phương thức mặc định.
📌 Ví dụ:
🔥 6. Phương thức tĩnh (Static Methods)
Từ Java 8, interface có thể chứa phương thức
static
.Phương thức này chỉ có thể được gọi thông qua interface, không thể override trong lớp triển khai.
📌 Ví dụ:
🔥 7. Phương thức riêng tư (Private Methods) (Java 9+)
Từ Java 9, interface có thể có phương thức
private
.Phương thức này chỉ có thể được gọi từ phương thức mặc định hoặc phương thức tĩnh của chính giao diện đó.
📌 Ví dụ:
🔥 8. Interface mở rộng (Extending Interfaces)
Một interface có thể kế thừa từ một hoặc nhiều giao diện khác bằng từ khóa
extends
.
📌 Ví dụ:
🔥 9. Mối quan hệ giữa Lớp và Interface
Hỗ trợ đa kế thừa
❌ Không
✅ Có
Chứa phương thức có phần thân
✅ Có (Java SE 7-)
✅ Có (default
, static
, private
- Java SE 8+)
Có constructor
✅ Có
❌ Không
Có thể chứa biến instance
✅ Có
❌ Không (Chỉ có static final
)
🔥 10. Từ khóa instanceof
với Interface
instanceof
với InterfaceCó thể kiểm tra xem một đối tượng có thuộc một interface hay không bằng từ khóa
instanceof
.
📌 Ví dụ:
🔥 11. Tóm tắt
✅ Giao diện trong Java là một tập hợp các phương thức trừu tượng và hằng số.
✅ Lớp có thể triển khai nhiều giao diện bằng từ khóa implements
.
✅ Từ Java 8, giao diện có thể có phương thức mặc định (default
) và phương thức tĩnh (static
).
✅ Từ Java 9, giao diện có thể có phương thức riêng tư (private
).
✅ Giao diện có thể kế thừa từ giao diện khác bằng từ khóa extends
.
Last updated