Các gói (packages)

Như trong các ví dụ ở chương I và II chúng ta đã làm quen với khái niệm gói (package) trong Java. Gói là một cách tổ chức các lớp thành các nhóm. Khái niệm gói tương tự khái niệm thư mục (folder) trong Windows. Một thư mục có thể chứa nhiều tập tin tương tự một gói chứa nhiều lớp. Hai tập tin có thể có cùng tên nhưng phải thuộc về hai thư mục khác nhau; tương tự, hai lớp có thể cùng tên nhưng phải thuộc về những gói khác nhau.

Gói mặc định (default package)

Khi một dự án được tạo, một gói mặc định (default package) cũng được tạo ra. Nếu người dùng thêm một lớp đến dự án, sẽ có một yêu cầu nhập tên gói chứa lớp đó:

Thêm các gói đến dự án

Như đã đề cập ở trên, khi tạo một dự án mới, một gói mặc định sẽ được thêm vào dự án, cụ thể là thêm vào thư mục src của dự án:

Để thêm một gói đến dự án Java, chúng ta nhấp chuột phải vào thư mục src trong cửa sổ Project Explorer chọn New > Package

Nhập tên gói, ví dụ MainPackage, trong hộp thoại New Java Package:

Nhấn Finish và thư mục src lúc này:

Tương tự thêm gói OtherPackage:

Thêm các lớp đến một gói

Một lớp có thể được thêm vào một gói bất kỳ theo ba cách:

  • Nhập tên gói vào hộp thoại New Java Class
  • Dùng từ khóa package.
  • Thêm trực tiếp đến gói

Hai cách đầu hữu ích trong trường hợp chúng ta chưa tạo gói trước đó. Cách thứ 3 hữu ích khi chúng ta đã tạo sẵn các gói trong thứ mục src.

Ví dụ thêm lớp MainClass.java đến gói MainPackage theo cách thứ nhất:

  • Nhấp chuột phải vào thư mục src trong cửa sổ Project Explorer chọn New > Class:
  • Nhập các thông tin vào hộp thoại New Java Class:

Nhấn Finish. Lúc này trong gói MainPackage sẽ xuất hiện lớp MainClass:

Đoạn mã của lớp MainClass.java:


package MainPackage;

public class MainClass {

      public static void main(String[] args) {

           // TODO Auto-generated method stub

      }

}

Ví dụ thêm lớp OtherClass.java đến gói OtherPackage theo cách thứ hai:

  • Nhấp chuột phải vào thư mục src trong cửa sổ Project Explorer chọn New > Class
  • Nhập tên lớp nhưng không chọn gói:

Nhấn Finish. Lúc này lớp OtherClass.java sẽ được thêm đến thư mục src nhưng không thuộc về gói nào:

  • Thêm lệnh package đến lớp OtherClass:

package OtherPackage;

public class OtherClass {

}

Lúc này sẽ xuất hiện một lỗi như sau:

Nhấn chuột trái vào liên kết Move ‘OtherClass.java’ to package ‘OtherPackage’ để di chuyển lớp MainClass đến gói OtherPackage:

Trong trường hợp chúng ta đã tạo sẵn các gói trong thư mục src, cách đơn giản nhất để thêm một lớp đến một gói là chọn trực tiếp gói để thêm lớp bằng cách nhấp chuột phải lên gói đó, ví dụ gói MainPackage, và chọn New > Class. Gói được chọn sẽ xuất hiện trong mục Package.

Sử dụng các lớp

Để sử dụng các lớp từ các gói khác nhau chúng ta dùng lệnh import. Ví dụ chúng ta muốn sử dụng lớp OtherClass (cùng các thành viên của nó) trong phương thức main của lớp MainClass, chúng ta thêm lệnh import đến lớp MainClass:


import OtherPackage.OtherClass;

Theo sau từ khóa import là tên gói cùng với tên lớp cần sử dụng sau dấu chấm. Nếu muốn sử dụng tất cả các lớp trong gói OtherPackage thì chúng ta dùng dấu * thay cho tên lớp:


import OtherPackage.*;

Tạo thể hiện lớp OtherClass trong phương thức main của lớp MainClass:


package MainPackage;

import OtherPackage.OtherClass;

public class MainClass {

     public static void main(String[] args) {

         // TODO Auto-generated method stub

         OtherClass o = new OtherClass();

     }

}

Tổ chức các lớp trong các gói có vai trò rất quan trọng trong các dự án lớn.

Ngôn ngữ Java >