Java - Liệt kê sự khác nhau giữa Interface và lớp Abstract (lớp trừu tượng).

Sau khi đã được tìm hiểu về Interface và lớp trừu tượng, bạn hãy liệt kê sự khác nhau giữa Interface và lớp Abstract (lớp trừu tượng) khi lập trình với hướng đối tượng trong Java.

Bài giải

-------------------- ######## --------------------

Trong Java, Interface và lớp trừu tượng có chung một số đặc tính nhưng chúng có điểm khác nhau như sau:

  • Tất cả các phương thức trong Interface là phương thức trừu tượng, còn các phương thức trong lớp trừu tượng thì có thể là phương thức trừu tượng hoặc phương thức thông thường.
  • Một lớp có thể implement nhiều Interface nhưng chỉ kế thừa được một lớp trừu tượng.
  • Một lớp implement 1 Interface thì lớp đó phải định nghĩa lại tất cả các phương thức có trong Interface. Tuy nhiên, một lớp kế thừa từ lớp trừu tượng thì có thể không cần định nghĩa lại (override) các phương thức thông thường nhưng bắt buộc phải override lại các phương thức trừu tượng.
  • Lớp trừu tượng có thể implement một Interface mà không cần định nghĩa lại bất kỳ phương thức nào của Interface đó.
  • Các thành phần trong Interface mặc định là public, còn trong lớp trừu tượng thì có thể là public, protected hoặc private.

 

Nguồn: freetuts.net