INTERFACE JAVA LÀ GÌ

     

Trong bài xích này, tôi đã hướng dẫn chúng ta tìm đọc về một khái niệm cũng tương đối quan trọng khi lập trình hướng đối tượng người sử dụng đó là Interface vào Java. Sau đó, tôi sẽ chuyển ra một số bài tập để chúng ta luyện tập!

*


*

1. Interface vào Java

Khái niệm

Trong Java, Interface (giao diện) là 1 trong kiểu tài liệu tham chiếu tương tự như như Class (lớp) nhưng chỉ có thể chứa hằng số với tên những phương thức, không cóphần thân cách làm (phương thức trừu tượng). Một lớp mô tả các thuộc tính và hành vi của đối tượng người dùng còn Interface thì biểu hiện các hành vi của lớp đó. Interface quan yếu được khởi tạo thành như lớp cơ mà chỉ rất có thể được mở rộng từ các lớp khác hoặc được kế thừa từ những Interface khác.

Bạn đang xem: Interface java là gì

Trong Interface, chúng ta không thể khai báo hàm chế tạo và Interface tất yêu kế thừa xuất phát từ một lớp cơ mà chỉ rất có thể được mở rộng từ lớp cùng một Interface rất có thể được thừa kế lại từ khá nhiều Interface khác.

Ngoại trừ lớp trừu tượng thì tất cả các lớp không ngừng mở rộng Interface bắt buộc định nghĩa lại toàn bộ các cách làm của Interface.

Bài viết này được đăng trên

Khai báo Interface


Trong Eclipse, để tạo new một Interface, họ sẽ kích chuột đề xuất vào thương hiệu package chọn File → New → Interface và triển khai đặt thương hiệu Interface. Trong ví dụ tiếp sau đây tôi sẽ tạo nên mới 1 Interface mang tên là InterfaceJava, sau khi tạo chúng ta sẽ có 1 file InterfaceJava.java với câu chữ như sau:


InterfaceJava.java
package vidu;public interface InterfaceJava

Từ khóa public cho thấy thêm Interface này hoàn toàn có thể sử dụng ở bất kỳ package nào. Nếu họ không khai báo phạm vi truy vấn cho Interface thì mặc định Interface này chỉ có thể được thực hiện trong package cất nó.

Một Interface rất có thể kế thừa nhiều Interface khác. Khác với lớp là từng lớp chỉ rất có thể kế thừa một tờ thì Interface rất có thể kế thừa từ không ít Interface khác, danh sách những Interface được thừa kế cách nhau bởi dấu phẩy.

Trong các bài trước, họ đã khám phá về từ khóa abstract thì đối với một lớp có các phương thức là cách tiến hành trừu tượng thì lớp đó yêu cầu phải là một lớp trừu tượng, do vậy bọn họ phải thực hiện từ khóa abstract,nhưng đối với Interface bọn họ không rất cần phải sử dụng trường đoản cú khóa abstract khi khai báo nó. Tương tự, các phương thức là trừu tượng vào Interface cũng không nhất thiết phải sử dụng tự khóa abstract mà chỉ việc khai báo thương hiệu phương thức, phạm vi truy cập, kiểu trả về của thủ tục và hoàn thành bằng vết chấm phẩy.

Tất cả các phương thức trong Interface phần nhiều mặc định là public nên bọn họ không phải khai báo public và tương tự, những thuộc tính vào Interface phải là 1 hằng số và họ cũng khôngcần cần khai báo static final và chỉ việc khai báo mẫu mã dữ liệu, tên vươn lên là và quý giá khởi tạo của hằng số đó. Tóm lại, bên trong Interface chỉ gồm hằng số hoặc thương hiệu phương thức, cách làm không chứa phần thân (tức là không tồn tại phần nằm trong dấu và xong bằng dấu chấm phẩy) hoặc cả hai.

Implement Interface (tạm hotline là mở rộng, triển khai Interface)

Khi một lớp không ngừng mở rộng 1 Interface thì lớp đó buộc phải định nghĩa lại toàn bộ các cách thức của Interface đó. Trong trường hòa hợp lớp đó không có mang lại các phương thức của Interface thì nó đề nghị được khai báo là 1 trong lớp trừu tượng.

Xem thêm: Viết Cho Anh Người Em Yêu !, Viết Cho Anh, Chàng Trai Đang Thuộc Về Em…!

Nếu một lớp không ngừng mở rộng 1 Interface thì trong lớp đó chúng ta phải sử dụng từ khóa implements, phía sau là tên của Interface. Giả dụ lớp này vừa kế thừa xuất phát từ 1 lớp khác với vừa không ngừng mở rộng 1 Interface thì bọn họ sẽ thực hiện kế vượt trước tiếp đến mở rộng lớn Interface (tức là từ khóa extends sẽ luôn luôn đứng trước từ bỏ khóa implements).


package vidu;public interface Interface // Đây là cách làm trừu tượng// cách làm trừu tượng của Interface không buộc phải khai báo tự khóa abstract cùng publicvoid createAbstractMethod();
package vidu;public class ClassImplementsInterface implements Interface // Lớp này sau thời điểm tạo ra // chỉ có phương thức createAbstractMethod() của Interface
Overridepublic void createAbstractMethod() System.out.println("Đây là cách thức createAbstractMethod() của Interface");public static void main(String<> args) ClassImplementsInterface classImplementsInterface = new ClassImplementsInterface();classImplementsInterface.createAbstractMethod();

Kết quả sau khoản thời gian biên dịch chương trình:

Giải thích buổi giao lưu của chương trình trên:

Trong lịch trình trên tôi có tạo nên 1 Interface, Interface này có 1 phương thức trừu tượng là createAbstractMethod() (phương thức này không tồn tại thân hàm và kết thúc bằng một dấu chấm phẩy). Lớp ClassImplementInterface là một lớp không ngừng mở rộng Interface trên đề nghị nó sẽ có được phương thức createAbstractMethod() (bắt đề nghị có). Sau đó, tôi tiến hành khởi tạo đối tượng người dùng của lớp đó và gọi cách tiến hành createAbstractMethod(). Tác dụng sẽ hiển thị mẫu "Đây là cách làm createAbstractMethod() của Interface" ra màn hình hiển thị Console.

Lưu ý: Để sản xuất một lớp implements Interface, chúng ta làm như sau.

Bước 1: Trong hộp thoại chế tạo ra lớp, ngay cái Interfaces các bạn nhấn vào nút add bên cạnh:

Bước 2: hộp thoại Implemented Interfaces Selection xuất hiện. Vào ô Choose interfaces các bạn nhập vào thương hiệu Interface, sau đó tên của Interface sẽ hiển thị vào ô Matching items, các bạn chọn vào đó và nhấn OK nhằm kết thúc.

Bước 3: thương hiệu của Interface vừa chọn sẽ hiển thị trong ô Interfaces:

Bước 4: thừa nhận Finish nhằm kết thúc, lúc này ta sẽ có được lớp ClassImplementsInterface như sau:


Kế thừa từ Interface

Một Interfacecó thể thừa kế từ Interface khác tương tự như giải pháp mà một tờ kế thừa xuất phát điểm từ 1 lớp khác đó là chúng ta cũng sử dụng từ khóa extends. Một lớp không ngừng mở rộng từ Interface bé sẽ kế thừa tất cả các phương thức gồm trong Interface đó (tức là cách thức của Interface con và Interface cha của Interface mà lại lớp đó implement). Trong Java, 1 Interface có thể kế thừa từ khá nhiều Interface và các Interface này được ngăn cách nhau vày dấu phẩy.


Kết quả sau thời điểm biên dịch chương trình:

Giải thích hoạt động vui chơi của chương trình trên:

Trong lịch trình trên, tôi chế tạo 1 Interface mang tên là Person và 1 Interface con Student kế thừa từ Interface Person cùng khai báo phương thức nhapDiem() mang đến Interface này. Tiếp nối tôi khai báo lớp Main là lớp mở rộng của Interface Student, từ bây giờ trong lớp Main sẽ sở hữu 3 phương thức đó là phương thức nhap() cùng hienThi() của Interface Person, cách tiến hành nhapDiem() của Interface Student. Trong hàm main(), tôi thực hiện tạo đối tượng và điện thoại tư vấn đến 3 thủ tục trên, thời gian đó bọn họ sẽ có tác dụng biên dịchnhư hình trên.

Xem thêm: Những Người Đại Kỵ Với Đu Đủ Kỵ Với Thực Phẩm Nào, 5 Lưu Ý Ai Cũng Phải Nhớ Khi Ăn Đu Đủ

Dùng Interface làm kiểu dữ liệu

Việc khái niệm một Interface hệt như định nghĩa một kiểu tài liệu tham chiếu mới. Nếu bọn họ khai báo một đối tượng người tiêu dùng có hình dạng dữ liệu là 1 Interface thì đối tượng người tiêu dùng đó cần được khởi chế tạo là một đối tượng của lớp implement Interface. Ví dụ bọn họ sẽ sửa văn bản của lớp Main như sau:


Overridepublic void hienThi() System.out.println("Đây là cách tiến hành hienThi() của Interface Person");
Overridepublic void nhapDiem() System.out.println("Đây là thủ tục nhapDiem() của Interface Student");public static void main(String<> args) Student student = new Main();student.nhap();student.hienThi();student.nhapDiem();}

Kết quả sau thời điểm biên dịch chương trình:

3. Lời kết

Trong bài là tôi đã trình làng đến các bạn về tư tưởng Interface vào Java, bao hàm cú pháp khai báo, cách implement Interface từ một lớp, cách kế thừa Interface và dùng Interface làm kiểu dữ liệu. Đây là bài cuối cùng trong chương Lập trình hướng đối tượng. Sang bài sau, bọn họ sẽ bước sang một chương mới - chương giải pháp xử lý luồngtrong Java.