Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Sự khác biệt giữa Class và Interface trong Java

Trong bài viết này, chúng ta sẽ tìm hiểu sự khác biệt giữa Class (lớp) và Interface (giao diện) trong Java.

Class

  • Định nghĩa thuộc tính (attributes) và hành vi (behaviors) của object
  • Chứa cả abstract method và normal method
  • Từ khóa: 'class'
  • Có thể instantiate (tạo instance)
  • KHÔNG hỗ trợ đa kế thừa (multiple inheritance)
  • Có thể kế thừa một class khác (extends)
  • Tên class cha đi sau từ khóa 'extends'
  • Member có thể public, private, protected
  • Body class bao bởi '{' và '}'
  • Variable có thể static, final, hoặc bình thường

Interface

  • Chứa hành vi được implement bởi class
  • Từ khóa: 'interface'
  • KHÔNG thể instantiate
  • Hỗ trợ đa kế thừa
  • Chỉ chứa abstract method (từ Java 8 có default/static method)
  • Dùng 'extends' để kế thừa interface khác
  • Tất cả variable đều static và final
  • KHÔNG thể kế thừa class
  • Là bản thiết kế (blueprint) cho class
  • Định nghĩa class PHẢI LÀM GÌ, không định nghĩa CÁCH LÀM
  • Member mặc định public