Cách sử dụng interface trong java

Trong một đợt tình cờ vào VOZ forums, có một chúng ta hỏi về Interface trong Java là gì? Nó không giống với Abstract Class nơi nào? Tại sao yêu cầu cần sử dụng Interface, mặc dù nó chẳng rút ít gọn code đi tý như thế nào, thậm chí còn dài hơn. Mặc dù có không ít chúng ta trả lời đến công ty topic đó nhưng đa số là phát âm sai, hoặc không làm rõ thực chất của Interface trong Java.

Bạn đang xem: Cách sử dụng interface trong java

Để các bạn gồm tầm nhìn thấu đáo, hiểu rõ bản chất của Interface. Từ đó có thể áp dụng Interface một biện pháp chuẩn chỉ mang lại dự án công trình của bản thân mình. Mình vẫn cho ra đời nội dung bài viết này.

*


Nội dung chính của bài bác viết

Java Interface là gì? Có nên “cỗ mặt” của Java?Điểm sáng thiết yếu của Java Interface

Java Interface là gì? Có phải “cỗ mặt” của Java?

Để đọc một bí quyết chính xác thì cần đọc khái niệm Interface của chính công ty Oracle:


In its most comtháng form, an interface is a group of related methods with empty bodies.Oracle

Đến Oracle cũng cấp thiết khái niệm Interface một giải pháp khoa học kiểu: Interface là xyz, bla bla. Nhưng bạn cũng có thể hiểu một phương pháp nôm na với đúng chuẩn như sau: Trong quả đât thực, chúng ta gồm trang bị (đồ vật, nhỏ vật…) và các hành vi của nó. Interface được sinc là để có mang các hành vi của một đội nhóm thiết bị.

Mình mang ví dụ như sau: Một con mèo (đây là con vật) thì tất cả các hành vi như: chạy, bắt chuột, ngủ…

Ta đã khái niệm một Interface Cat nhỏng sau:

interface CatBehaviors // Cách nhỏ mèo chạy cùng với tốc độ void run(int speed); // Cách con mèo bắt loài chuột void catchMouse(int mouse); // Định nghĩa giải pháp con mèo ngủ. void sleep();Sau này họ quan niệm một nhỏ mèo thì tất yếu nó vẫn nên các hành động của bé mèo, dù nó là mèo tam thể tốt mèo vàng…

class Cat implements CatBehaviors private String màu_lông; //Cách nhỏ mèo chạy cùng với tốc độ void run(int speed) ... //Cách nhỏ mèo bắt loài chuột void catchMouse(int mouse) ... // Định nghĩa biện pháp con mèo ngủ. void sleep() ... Về học thuật thì Interface chính là có mang nhằm hiện thực hóa triết lý nhiều hình trong xây dựng phía đối tượng người sử dụng. Cụ thể hơn thì bản thân vẫn lý giải tại phần sau của bài viết.

Interface Java cũng là một trong Abstract Class bao hàm các method được tư tưởng (cơ mà văn bản của method thì ko được viết cụ thể, tín đồ ta hotline là abstract method). Một Class về sau sẽ implements một Interface, đến dịp kia class mới viết rõ ràng câu chữ của các method được quan niệm trong interface.

Trong Interface, ngoại trừ abstract method, các bạn trọn vẹn rất có thể thêm constants, static methods, nested interfaces (interface vào một interface) với default methods.

Điểm giống như – không giống nhau thân Interface và Abstract class:

Một interface về cơ bản hoàn toàn giống như cùng với abstract class. Một interface cũng đều có các abstract method với các method được thiết kế với nhằm implement làm việc những class khác. Việc implement này hoàn toàn như thể cùng với câu hỏi extover với override method trong Abstract class.

Về điểm khác nhau, thì mình thấy tất cả 2 điểm chính:

Về giải pháp viết code: các method vào interface nên là empty method, Có nghĩa là method không có câu chữ, chỉ mang tên hàm, tmê mệt số với mẫu mã dữ liệu trả về. Trong Khi cùng với abstract class thì các bạn trọn vẹn hoàn toàn có thể thêm abstract method hoặc method thông thường (là method gồm nội dung, lô ghích bên phía trong body). Về mục đích sử dụng: Interface là một trong những tác dụng mà bạn cũng có thể thêm với bất cứ class nào. Từ tính năng ở chỗ này không đồng nghĩa với method (hay còn được gọi là hàm).Abstract class là một trong những class thân phụ mang đến tất cả những class tất cả thuộc thực chất. Bản chất tại đây được hiểu là thứ hạng, một số loại, nhiệm vụ của class.

Xem thêm: Cách Trồng Lan Kiều Vàng - Cách Trồng Và Chăm Sóc Lan Kiều Vàng Ra Hoa Đẹp

Tại sao chúng ta phải Interface

Lý do chính là Java không cung cấp đa thừa kế. Do kia, bạn cần thiết kế thừa cùng một lúc các class. Các class nhỏ cần thiết thừa kế những thuộc tính của không ít class thân phụ, do nó dẫn đến bài bác tân oán Kim Cương (chúng ta tìm kiếm Google để hiểu tính năng này nhé).

Để xử lý sự việc này, người ta bắt đầu phát hành Interface. Để làm rõ hơn, bọn họ sẽ cùng mọi người trong nhà xem ví dụ tiếp sau đây.

Bạn mong mỏi thiết kế một Ssống thụ, có tương đối nhiều những loài vật. Về cơ bạn dạng thì những con vật đều sở hữu những đặc điểm phổ biến như: Có thương hiệu, tất cả giờ kêu, gồm chân (2 chân, 4 chân, hoặc 0 gồm chân nào…). Từ phần nhiều điểm sáng phổ biến kia chúng ta sinh sản một abstract class là: abstract class Animal

*

Tuy nhiên lại sở hữu một vài loài lại biết bay, một trong những loại thì biết tập bơi. Và loại “dở” là loài biết bay lại đo đắn bơi lội. Do vậy, ta tất yêu nhằm điểm lưu ý biết bay giỏi biết bơi lội vào class Animal được.

Đó là lý do chúng ta đề xuất sản xuất 2 Interface khác biệt là Can_Fly với Can_Swim rồi xem class nào có thể implements từng loại thích hợp.

*

Đặc điểm bao gồm của Java Interface

Quý Khách hiểu đến cứng cáp cũng đã gọi phần như thế nào về Interface vào Java rồi đúng không? Khi nào thì rất cần phải sử dụng Interface, với nó không giống cùng với Class hay ở đâu.

Giờ bản thân sẽ tổng đặc lại đa số điểm lưu ý chủ yếu mà bạn cần phải nhớ về Interface:

Các method được knhị báo trong Interface đề xuất là method trống rỗng.Không thể tạo ra đối tượng người dùng từ Interface.Một Class hoàn toàn có thể implement một hoặc những Interface.

Mình viết một đoạn code mình họa mang lại đỡ rầu rĩ nhé.

public interface extInterface public void method1(); public void method2();import java.util.Scanner;class Edureka implements extInterface public void method1() System.out.println("implementation of method1"); Scanner scanner = new Scanner(System.in); System.out.println("Enter number to lớn find square root in Java : "); double square = scanner.nextDouble(); double squareRoot = Math.sqrt(square); System.out.printf("Square root of number: %f is : %f %n" , square, squareRoot); public void method2() System.out.println("implementation of method2"); public static void main(String arg<>) extInterface obj = new Edureka(); obj.method1(); Chạy đoạn code đã thu được kết quả:

implementation of method1Enter number lớn find square root in Java :16Square root of number: 16.0 is : 4.0

Tổng kết

do đó là tôi đã ngừng bài viết về Interface vào Java. Đọc mang đến trên đây, chúng ta đã “vỡ” ra được không ít điều không? Nếu ko thì… ảm đạm ghê.

Xem thêm: Project Milestone Là Gì ? Milestone Trong Quản Lý Dự Án Là Gì

Các bạn nên nhớ, Interface chỉ là một trong khí cụ, nó không hẳn là triết lý lập trình sẵn. Do vậy, khi ai kia nói tới lập trình hướng đối tượng người dùng, tới nhiều hình mà lại nói: Tính đa hình là interface. Thì không phải là đúng nhé. Nhớ này: Interface chỉ là 1 dụng cụ để thực hiện tính nhiều hình.


Chuyên mục: Kiến thức