Interface Trong Java - KungFu Tech
Có thể bạn quan tâm
- Trong Interface Java.awt.event.actionlistener Có Khai Báo Phương Thức Nào
- Trong Internet Explorer để Hiện/ẩn Các Nút Công Cụ Chuẩn Người Ta Thực Hiện
- Trong Internet Explorer Muốn Sao Lưu Một Trang Web Vào Máy Tính Bạn Sử Dụng Lựa Chọn Nào
- Trong Internet Explorer Phiên Bản 9 Hoặc Mới Hơn Phím Tắt Chuyển đến Tab Liền Kề Bên Trái
- Trong Internet Thì Các Máy Tính Nhận Ra Nhau Là Nhờ
Một giao diện (Interface) trong Java là một bản thiết kế của một lớp, nó chỉ có các phương thức trừu tượng. Interface là một kỹ thuật để thu được tính trừu tượng hoàn toàn và đa kế thừa trong Java. Nó không thể được khởi tạo giống như lớp trừu tượng.
Một Interface trong Java là một tập hợp các phương thức trừu tượng (abstract). Một class khi triển khai (implement) một interface sẽ kế thừa các phương thức của interface.

Interface trong Java là gì
Từ khoá interface đã đưa khái niệm abstract đi xa thêm một bước nữa. Ta có thể nghĩ nó như là một lớp abstract "thuần tuý", nó cho phép ta tạo ra một lớp thuần ảo, lớp này chỉ gồm tập các giao diện cho các lớp muốn dẫn xuất từ nó, một interface cũng có thể có các trường, tuy nhiên java tự động làm các trường này thành static và final
Để tạo ra một interface, ta dùng từ khoá interface thay vì từ khoá class. Một interface gồm có 2 phần: phần khai báo và phần thân:
- Phần khai báo cho biết một số thông tin như: tên của interface, nó có kế thừa từ một giao diện khác hay không.
- Phần thân chứa các khai báo hằng, khai báo phương thức. Giống như một lớp ta cũng có thể thêm bổ từ public vào trước định nghĩa của interface.
Ví dụ dưới đây Printable Interface chỉ có một phương thức, trình triển khai của nó được cung cấp bởi lớp A.
java Copy interface printable { void print(); } class A6 implements printable { public void print() { System.out.println("In"); } public static void main(String args[]){ A6 obj = new A6(); obj.print(); } }Khi ghi đè các phương thức được định nghĩa trong interface:
- Các phần kiểm tra exception không nên được khai báo trong phương thức triển khai (implements), thay vào đó nó nên được khai báo trong phương thức interface hoặc các lớp phụ được khai báo bởi phương thức interface.
- Kiểu trả về của phương thức interface và khi ghi đè phương thức (overriding method) phải giống nhau.
- Một lớp triển khai chính nó có thể là abstract và vì thế các phương thức interface không cần được triển khai.
Khi triển khai interface:
- Một lớp có thể triển khai một hoặc nhiều interface tại một thời điểm.
- Một lớp chỉ có thể kế thừa một lớp khác, nhưng được triển khai nhiều interface.
- Một interface có thể kế thừa từ một interface khác, tương tự cách một lớp có thể kế thừa lớp khác.
| Một interface tương tự với một class | Một interface khác với một class |
|---|---|
| Một interface được viết trong một file với định dạng .java, với tên của interface giống tên của file. | Bạn không thể khởi tạo một interface |
| Bytecode của interface được lưu trong file có định dạng .class. | Một interface không chứa bất cứ hàm Constructor nào. |
| Khai báo interface trong một package, những file bytecode tương ứng cũng có cấu trúc thư mục có cùng tên package. | Tất cả các phương thức của interface đều là abstract. |
| Một interface không thể chứa một trường nào trừ các trường vừa static và final. | |
| Một interface không thể kế thừa từ lớp, nó được triển khai bởi một lớp. | |
| Một interface có thể kế thừa từ nhiều interface khác. |
Đa kế thừa trong Java bởi Interface
Nếu một lớp triển khai (implements) nhiều interface, hoặc một Interface kế thừa từ nhiều Interface khác thì đó là đa kế thừa.
java Copy interface Printable { void print(); } interface Showable{ void show(); } class A4 implements Printable, Showable { public void print() { System.out.println("In"); } public void show() { System.out.println("Hiển thị"); } public static void main(String args[]){ A4 obj = new A4(); obj.print(); obj.show(); } }Interface kế thừa Interface trong Java
Một Interface cũng có thể kế thừa từ các Interface khác.
java Copy interface Printable{ void print(); } interface Showable extends Printable{ void show(); } class A3 implements Showable{ public void print() { System.out.println("In"); } public void show() { System.out.println("Hiển thị"); } public static void main(String args[]){ A3 obj = new A3(); obj.print(); obj.show(); } }Marker Interface trong Java là gì?
Một Interface mà không có thành viên nào thì được gọi là Marker Interface. Ví dụ: Serializable, Cloneable, Remote, … Chúng được sử dụng để cung cấp một số thông tin thiết yếu tới JVM để mà JVM có thể thực hiện một số hoạt động hữu ích.
java Copy public interface Serializable { }Interface lồng nhau trong Java
Một Interface có thể có Interface khác, đó là lồng Interface.
java Copy interface printable{ void print(); interface MessagePrintable{ void msg(); } }Từ khóa » Trong Interface Có Thể định Nghĩa
-
Interface Trong Java - Freetuts
-
Interface Trong Java - Học Java Cơ Bản đến Nâng Cao - VietTuts
-
Interface Trong Lập Trình Hướng đối Tượng Java | How Kteam
-
Interface Trong Lập Trình Hướng đối Tượng | How Kteam
-
Interface Là Gì? Interface Khác Gì Class? Đa Kế Thừa Trong Java Sử ...
-
Interface Là Gì? Đặc điểm Của Interface Và Khi Nào Thì Nên Dùng?
-
Interface Trong Java - Bạn đã Hiểu đúng? Nếu Chưa, Mời đọc Ngay
-
Interface Là Gì? Mục đích Sử Dụng Của Interface - Hcare
-
Interface Trong Java
-
Java Bài 33: Interface - Yellow Code Books
-
Interface Trong Java Với Ví Dụ Cụ Thể - Deft Blog
-
Sử Dụng Interface Trong Java - Góc Học IT
-
Interface Là Gì? Những ý Nghĩa Của Interface
-
Abstract Class Và Interface, Bạn Có Thực Sự Hiểu Chúng ? - Viblo