Phân biệt extends và implements trong java là một trong những câu hỏi trong phỏng ván thường xuyên gặp.
Bạn đang xem: Implement là gì
Extends và implements là hai từ khóa được sử dụng rất nhiều trong java.Tuy nhiên một số lập trình viên mới học chưa năm được sự khác biệt thì ở bài viết này sẽ cụ thể hóa vấn đề này.
Mặc dù cả hai extends và implements trong Java được sử dụng để thực hiện kế thừa nhưng có những sự khác biệt giữa chúng.Extends được sử dụng để kế thứ từ một class khác trong khi đó implements cũng được sử dụng để kế từ các interface.
Cách sử dụng extends ?
Ví dụ chúng ta có các class A,B.Class A có một phương thức để hiển thị là show().Class B gồm hai phương thức display() và show() nhưng Class B kếthừa từ class A.Sau đó chúng ta sẽ tạo ra đối tượng dựa vào class B rồi gọi phương thức show,kết quả trả về sẽ là “better show” chứ không phải là “show”.Lý do vì class B đã extends từ class A thì nếu có hai phương thức của lớp cha trùng tên thì sẽ ghì đè lên phương thức trùng tên của lớp con.
Xem thêm: Rpm Là Gì – Các Công Thức Quy đổi Vòng Trên Phút
Dưới đây là một ví dụ của extends trong Java:
class A { public void show() { System.out.println(“show”); }}class B extends A { public void display() { System.out.println(“display”); } public void show() { System.out.println(“better show”); }}public class Main { public static void main(String args) { A a = new B(); // possible because B extends A a.show(); // this will now call to show() method of class B }}Outputbetter show
Bạn cũng có thể đọc các tài liệu Head First Design Pattern in Java để tìm hiểu thêm về kỹ thuật lập trình.
Cách sử dụng implements ?
Ở ví dụ dưới chúng ta có một class R và implements từ interface Runnable thì bắt buộc rằng class R phải orver
Điểm khác biệt quan trọng :
Dưới đây là một số điểm quan trọng của extends và implements trong java :
1)Một class có thể kế thừa từ một class khác,không thể extends từ một interface.
Xem thêm: Cách Sửa Lỗi Product Activation Failed, Top 2 Office 2010 đơn Giản, Hiệu Quả
2) Khi sử dụng extends,một class chỉ có thể kế thừa từ một class khác,dưới đây là code thông báo lỗi khi cố gắng extends từ nhiều class:
5)Một class có thể kế thừa từ nhiều interface khác bằng cách sử dụng implements,đoạn code dưới đây thể hiện :
7)Một interface không thể implements từ một interface,nó không thể xảy ra cho nên lúc này khi chạy chương trình,nó sẽ xảy ra ngoại lệ :
interface L implements J{}javac Main.javaMain.java:49: “{” expectedinterface L implements J{^1 error
Đó là tất cả về sự khác biệt giữa extends và implements trong Java.Bài viết nói lên những sự khác biết là kinh nghiệm trong lập trình của tôi có được,hy vọng bạn đọc comment ở dưới bài viết nếu có góp ý thêm về sự khác biệt nhé.
Chuyên mục: Hỏi Đáp