Sự khác biệt giữa Tóm tắt Lớp và Giao diện trong Java Sự khác nhau giữa

Anonim

Tóm tắt Lớp so với Giao diện trong Java

Để hiểu được sự khác biệt giữa lớp trừu tượng và giao diện trong Java, điều quan trọng là, trước tiên, hãy hiểu từng cái một cách độc lập. Lớp trừu tượng trong Java được sử dụng để khai báo các lớp con với một tập hợp các đặc tính chung. Việc sử dụng chung của lớp trừu tượng là một lớp siêu của các lớp khác mà trên thực tế, cho phép nó mở rộng lớp trừu tượng. Một từ khoá trừu tượng được sử dụng trong việc tuyên bố một lớp trừu tượng. Cũng giống như các lớp khác, lớp trừu tượng có các trường mô tả phương pháp và đặc điểm mà lớp có thể thực hiện. Bằng việc khai báo một lớp trừu tượng, lớp không thể được khởi tạo

Một giao diện Java có thể được tương đương với một giao thức. Nó đại diện cho một hành vi cài sẵn và đã đồng ý, cho phép tạo thuận lợi cho sự tương tác của các đối tượng không liên quan. Tùy thuộc vào người sử dụng, giao diện giữ chìa khóa cho các hành động khác đang được thực hiện. Do đó, giao diện này là kết nối giữa nhà sản xuất và người tiêu dùng. Các giao diện trong Java là, như vậy, một nhóm các phương thức chứa các phần trống có thể có các khai báo liên tục. Trong việc tiết lộ một lớp vào giao diện Java, điều đó có nghĩa là hành vi mong đợi của lớp là việc thực hiện tất cả các phương thức của giao diện.

Trước hết, một lớp trừu tượng cho phép các trường không tĩnh hoặc cuối cùng trái ngược với các trường tĩnh và cuối cùng được sử dụng trong các giao diện. Giao diện không thể có bất kỳ mã thực hiện được sử dụng trong chúng, và có thể có mã thực hiện được sử dụng trong lớp trừu tượng. Các mã thực hiện được đưa ra trong lớp trừu tượng có thể có một vài hoặc tất cả các phương pháp thực hiện. Theo mặc định, tất cả các phương pháp của giao diện là "trừu tượng. "

Khả năng hiển thị cũng có thể đối với các phương pháp hoặc các thành viên của một lớp trừu tượng có thể thay đổi như là public, protected, private, hoặc none. Mặt khác, khả năng hiển thị của giao diện chỉ có thể được đặt trước với một chế độ hiển thị "công khai. '"

Một lớp trừu tượng sẽ tự động kế thừa lớp đối tượng. Điều này, có hiệu lực, có nghĩa là các phương pháp như clone () và equals () được bao gồm. Trong một giao diện, không có sự thừa kế của lớp đối tượng là có thể. Sau đây, lớp trừu tượng có khả năng có một constructor, nhưng một giao diện không thể có một.

Giao diện trong Java cũng có một chức năng rất quan trọng với việc thực hiện đa thừa kế vì một lớp chỉ có thể có một lớp siêu. Mặc dù chỉ có một siêu lớp có thể có mặt, nó có thể được thực hiện trong bất kỳ số giao diện nào. Không thể có nhiều thừa kế trong một lớp trừu tượng.

Trong hoạt động, các giao diện có khuynh hướng chậm hơn trong việc thực hiện như trái ngược với lớp trừu tượng chủ yếu là do hướng bổ sung để tìm ra phương pháp tương ứng trong lớp. Sự khác biệt, tuy nhiên, đã trở nên chậm hơn do các máy ảo Java hiện đại liên tục được nâng cấp.

Thêm một phương thức trong một giao diện yêu cầu bạn theo dõi tất cả các lớp triển khai thực hiện giao diện cụ thể. Ngoài ra, bạn có thể mở rộng giao diện để cho phép nó có thêm phương pháp. Nếu bạn đang xử lý một lớp trừu tượng, tất cả những gì cần thiết là thêm việc triển khai mặc định của phương pháp và mã tiếp tục hoạt động. Vì sự khác biệt tồn tại giữa các lớp trừu tượng và các giao diện, điều quan trọng cần lưu ý là chúng không phải là đối thủ, nhưng sự khác biệt được đề cập ở đây nhằm phục vụ cho nhau.

Tóm tắt

Tóm tắt các trường lớp không phải là tĩnh hoặc cuối cùng như trái ngược với giao diện có bảng tĩnh và cuối cùng.

Không có mã thực hiện có thể được sử dụng trong các giao diện trong khi nó có thể được sử dụng trong lớp trừu tượng.

  1. Giao diện hiển thị chỉ có thể được công khai trong khi khả năng hiển thị lớp trừu tượng có thể khác nhau.

  2. Một lớp trừu tượng sẽ tự động kế thừa lớp đối tượng, nhưng nó không thể trong giao diện.

  3. Lớp trừu tượng nhanh hơn giao diện trong quá trình triển khai.