Câu hỏi phỏng vấn Java
Câu hỏi

Sự khác biệt giữa InterfaceAbstract class trong Java là gì?

Câu trả lời

Trong Java, cả InterfaceAbstract class đều là cơ chế để đạt được tính trừu tượng, nhưng chúng có một số điểm khác biệt chính:

Interface:

  • Mục đích: Interface được sử dụng để định nghĩa một "hợp đồng" cho các lớp khác để triển khai. Nó chỉ chứa các phương thức trừu tượng (từ Java 8 trở đi, interface cũng có thể chứa các phương thức mặc định và tĩnh).
  • Phương thức: Tất cả các phương thức trong interface mặc định là publicabstract (ngoại trừ các phương thức mặc định và tĩnh).
  • Thuộc tính: Tất cả các biến trong interface đều là public, static, và final.
  • Đa kế thừa: Một lớp có thể triển khai nhiều interface, giúp Java giải quyết vấn đề đa kế thừa.
  • Sử dụng: Interface thường được sử dụng khi bạn muốn mô tả một bộ khả năng mà các lớp khác phải triển khai.

Abstract Class:

  • Mục đích: Abstract class được sử dụng để cung cấp một lớp cơ sở mà các lớp con có thể mở rộng và triển khai hoặc ghi đè các phương thức của nó.
  • Phương thức: Abstract class có thể chứa cả phương thức trừu tượng (không có thân) và phương thức không trừu tượng (có thân).
  • Thuộc tính: Abstr...
middle

middle

Gợi ý câu hỏi phỏng vấn

junior

Có thể sử dụng == trên enum trong Java không?

middle

Sự khác biệt giữa ArrayArrayList là gì? Khi nào bạn sẽ sử dụng Array thay vì ArrayList?

senior

Hãy kể một trường hợp sử dụng Builder Design Pattern trong Java?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào