Sự khác biệt giữa các gói và giao diện trong Java

Tác Giả: Laura McKinney
Ngày Sáng TạO: 2 Tháng Tư 2021
CậP NhậT Ngày Tháng: 3 Tháng BảY 2024
Anonim
Sự khác biệt giữa các gói và giao diện trong Java - Công Nghệ
Sự khác biệt giữa các gói và giao diện trong Java - Công Nghệ

NộI Dung


Gói và Giao diện cả hai hoạt động như một container. Nội dung trong các gói và giao diện có thể được các lớp sử dụng bằng cách nhập và triển khai nó tương ứng. Sự khác biệt cơ bản giữa các gói và giao diện là một gói chứa một nhóm các lớp và giao diện trong khi đó, một giao diện chứa các phương thức và trường. Hãy để nghiên cứu một số khác biệt khác với sự giúp đỡ của biểu đồ so sánh.

  1. Biểu đồ so sánh
  2. Định nghĩa
  3. Sự khác biệt chính
  4. Phần kết luận

Biểu đồ so sánh

Cơ sở để so sánhGóiGiao diện
Căn bảnGói là một nhóm các lớp và / hoặc giao diện với nhau.Giao diện là một nhóm các phương thức trừu tượng và các trường không đổi.
Từ khóaCác gói được tạo bằng cách sử dụng từ khóa "Gói".Giao diện được tạo bằng từ khóa "Giao diện".
Cú phápgói gói_name;
lớp học tên_bạn {
.
(cơ thể của lớp)
.
}
giao diện interface_name {
sự định nghĩa biến;
khai báo phương pháp;
}
Truy cậpMột gói có thể được nhập khẩu Một giao diện có thể được mở rộng bởi một giao diện khác và được lớp thực hiện.
Từ khóa truy cập Các gói có thể được nhập bằng cách sử dụng từ khóa "nhập".Các giao diện có thể được thực hiện bằng cách sử dụng từ khóa "hiện thực".


Định nghĩa các gói

Các gói là tập hợp hoặc nhóm của sự đa dạng của các lớp và giao diện. Các lớp trong các gói có liên quan với nhau trong một số phạm vi hoặc theo kế thừa. Bạn cũng có thể tạo gói của bạn và sử dụng nó cho chương trình của bạn.

Tạo một gói

Để tạo một gói chỉ cần làm theo các bước sau.

  1. Mở một tệp và sau đó khai báo tên của gói ở đầu tệp, giống như tên gói là tên bạn muốn đặt cho gói.
  2. Tiếp theo, bạn định nghĩa một lớp mà bạn muốn đặt trong gói và nhớ rằng bạn khai báo nó công khai.
  3. Lưu tệp dưới dạng tệp .java và sau đó biên dịch tệp, sau đó có thể đạt được.
  4. Để tạo một gói cho tập tin này, lệnh được sử dụng là Java javac -d. file_name.java. Bạn có thể thấy rằng gói được tạo có chứa một tập tin. Để đặt nó trong thư mục cha mẹ, hãy sử dụng jav javac -d. . lệnh file_name.java.
  5. Bạn cũng có thể tạo một gói con bằng cách khai báo tên của gói con ở đầu tệp.

gói Mypackage; lớp công khai my class {public void displayMypackage () {system.out.ln ("phương thức displayMypackage của lớp mygroup của gói Mypackage"); }

Sử dụng gói


Các gói được tạo hoặc có sẵn trong thư mục có thể được sử dụng trong chương trình bằng cách sử dụng câu lệnh nhập. Từ khóa được sử dụng để nhập bất kỳ gói nào trong chương trình của bạn là nhập khẩu. Câu lệnh nhập có thể được viết theo hai cách hoặc bạn có thể nói rằng có hai cách để truy cập bất kỳ gói nào. Đầu tiên, nếu bạn muốn sử dụng một lớp cụ thể từ một gói, từ khóa Nhập khẩu trực tiếp được theo sau bởi tên gói tiếp theo là toán tử dấu chấm và tên lớp mà bạn muốn sử dụng từ gói. Thứ hai, nếu bạn muốn sử dụng nhiều lớp được chứa trong các gói, thì từ khóa nhập được theo sau bởi tên gói tiếp theo là dấu chấm và toán tử điều hành * *.

nhập gói_name. tên lớp; hoặc nhập gói_name. *;

Trong đoạn mã trên, bạn có thể thấy dấu * cho biết phương thức thứ hai nhập tất cả các lớp có trong các gói.

Bây giờ, hãy để một người xem xem việc sử dụng gói này với một ví dụ.

nhập Mypackage. mygroup {class TestMypackage {public static void main (string args) {mygroup ob1 = new mygroup (); ob1.displayMypackage (); }} // phương thức đầu ra displayMypackage của lớp mygroup của gói Mypackage.

Trong đoạn mã trên, lớp TestMypackage đã nhập gói Mypackage và sử dụng phương thức displayMypackage () của nó.

Định nghĩa giao diện

Giao diện là một loại của một lớp, nhưng, khác nhau theo nghĩa là các phương thức được khai báo trong giao diện là trừu tượng có nghĩa là các phương thức chỉ được khai báo nhưng không được định nghĩa. Các trường trong giao diện luôn công khai, tĩnh, cuối cùng. Các trường phải được khởi tạo tại thời điểm khai báo. Các phương thức được khai báo bởi giao diện được xác định bởi lớp thực hiện giao diện đó theo yêu cầu của nó. Vì các phương thức trong giao diện không thực hiện bất kỳ chức năng nào, do đó không có việc sử dụng bất kỳ đối tượng nào của giao diện. Do đó, không có đối tượng có thể được tạo cho giao diện.

Giao diện cũng có thể kế thừa giao diện khác, nhưng lớp kế thừa giao diện đó cũng phải thực hiện tất cả các phương thức của giao diện được kế thừa. Do các trường được khởi tạo tại thời điểm khai báo trong giao diện, do đó không cần đến hàm tạo trong giao diện, do đó, giao diện không có chứa bất kỳ hàm tạo nào. Hãy để xem ví dụ về việc tạo và sử dụng giao diện.

diện tích giao diện {float pi = 3.14; float find_area (float a, float b) {} class Circle thực hiện Area {float find_area (float a, float b) {return (pi * a * a); } Hình dạng lớp {public static void main (string args) {Area A = new Area (); Vòng tròn C = vòng tròn mới (); A = C; phao F = Diện tích. find_area (10,10); system.out.ln ("Diện tích của vòng tròn là:" + F); }

Trong đoạn mã trên, chúng tôi đã tạo ra Vùng giao diện và Vòng tròn lớp đã triển khai Vùng giao diện. Trường ăn pi pi đã được khởi tạo trong giao diện tại thời điểm khai báo. Vòng tròn lớp đã định nghĩa phương thức trừu tượng của vùng lớp theo yêu cầu của nó.

  1. Một gói là một nhóm các lớp và giao diện với nhau trong khi đó, một giao diện là một nhóm các phương thức trừu tượng.
  2. Gói được tạo bằng từ khóa gói trong khi đó, một giao diện được tạo bằng từ khóa giao diện.
  3. Nếu một lớp hoặc một giao diện bên trong một gói sẽ được sử dụng thì gói đó sẽ được nhập trong khi một giao diện phải được thực hiện.

Phần kết luận:

Cả hai gói và giao diện là các container. Gói làm giảm kích thước của mã khi chúng ta chỉ cần nhập lớp sẽ được sử dụng thay vì xác định lại nó.Trong khi đó giao diện làm giảm sự nhầm lẫn xảy ra trong khi nhiều kế thừa bởi vì trong trường hợp có nhiều kế thừa, lớp kế thừa không quyết định định nghĩa về phương thức nào nên kế thừa thay vì nó xác định phương thức nào.