Cơ BảnJava iconJava

Abstract class và interface khác nhau thế nào?

Abstract class có thể có constructor, state (instance variable), và cả method abstract lẫn concrete.

  • Interface chỉ định nghĩa contract — từ Java 8 trở đi interface có thêm default method và static method.
  • Một class chỉ extends một abstract class nhưng có thể implements nhiều interface.
  • Dùng abstract class khi các class con chia sẻ code và state chung; dùng interface khi định nghĩa hành vi cho các class không liên quan.

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java