Package trong java (Bài 3) – Gia Sư Tin Học

Package trong java được tạo bởi sự kết hợp của nhiều
class hay interface. và trong package có thể chứa các package khác.
Package thường chứa các class, interface hay sub-package có liên quan
với nhau.

Package trong javaVí dụ

//Khai báo package
package javapro;
public class Student{
 private int mark=0;
 public Student(int m){
  mark = m;
 }
...
}

Package trong javaTruy cập các thành phần trong package

Các class mà dự định sẽ được sử dụng bên ngoài package sẽ được khai báo là public.

Các package khác nhau có thể có các class trùng tên với nhau.

Nếu các package khác nhau mà có các
class có tên trùng nhau thì khi sử dụng bắt buộc phải import đầy đủ tên
package và tên class.

Có 4 kiểu truy cập vào package là private, protected, public và default

Từ khóaTrong cùng classTrong cùng packageTrong sub-packagePackage khácprivateCóKhôngKhôngKhôngdefaultCóCóKhôngKhôngprotectedCóCóCóKhôngpublicCóCóCóCó

private: Chỉ có thể được truy cập bởi
chính class đó. protected: Được truy cập bởi các class cùng trong
package và các class là sub-class của class này. public: Được truy cập
bởi tất cả các class ở cùng package hay khác package. default: Được truy
cập bởi các class cùng package.

Package trong javaTạo package trong NetBeans

Chuột phải tại project -> chọn New -> chọn Java Package

package trong java 1

Sử dụng packages

  • Cú pháp:
import tên_package.tên_class
  • Ví dụ:
import javapro.Student;
import javapro.*;
  • Ký hiệu *: là import tất cả các class trong package javapro.
  • Một ví dụ khác về package trong java
import java.util.Scanner;
import java.io.File;
public class Example{
 public void input(){
   Scanner input = new Scanner(System.in);
   String fileName = input.next();
   File f = new File(fileName);
 }
}

Package trong javaInterfaces

Trong interface chỉ có các phương thức abstract và các biến final. Khi một class thực thi một interface, nó phải viết lại (override) tất cả các phương thức trong interface. Interface là public hoặc default. Interface có thể được kế thừa. 

Một interface có thể được thực hiện bởi nhiều class, và một class có thể thực thi nhiều interface. Đó chính là cách để dùng “kế thừa từ nhiều class.

Tạo interface trong NetBeans

Chuột phải tại package sẽ chứa interface -> chọn New -> chọn Java Interface

package trong java 2

Ví dụ 1

Tạo interface tên MyInterface

package javapro;
interface MyInterface{
   void mymethod1();
   void mymethod2();
 }

Thực thi interface

class MyClass implements MyInterface {
   public void mymethod1() { //phải là public
     System.out.println("Override my method 1");
   }

   public void mymethod2() {
	System.out.println("Override my method 2");
   }

   void mymethod3() {//không là phương thucw trong interface
	System.out.println("My method 3");
   }
}

Tạo class tên SampleInterface

public class SampleInterface
  public static void main (String a[]) {
	MyClass mc = new MyClass();
	mc.mymethod1();
	mc.mymethod2();
	mc.mymethod3();
   }
}

Ví dụ 2

Tạo interface tên IA

interface IA {
  void meth1();
  void meth2();
}

Tạo interface tên IB

interface IB extends IA {
  void meth3();
}

Tạo class tên MC

public class MC implements IB {
  public void meth1() {
    System.out.println("Implements method 1");
 }
 public void meth2() {
    System.out.println("Implements method 2");
 }
 public void meth3() {
   System.out.println("Implements method 3");
 }
}

Package trong java – Tổng kết bài học

  • Package
  • Phạm vi truy cập
  • Sử dụng package
  • Các package thư viện
  • Interface

Package trong javaBài tập thực hành

Tạo package có tên là mypackage và thực hiện các công việc sau đây:

Bài thực hành số 1: Tạo
class và đặt tên MyCircle. Viết xử lý cho phép người dùng nhập vào bán
kính của một hình tròn sau đó tính diện tích và chu vi của hình tròn đó
và in kết quả ra màn hình. Chương trình phải sử dụng hằng số PI có sẵn của class Math trong package java.lang

Bài thực hành số 2: Tạo
class có tên PhuongTrinhBacNhat. Viết chương trình cho phép người dùng
nhập vào các hệ số a và b. Biện luận nghiệm của phương trình ax + b = 0
và in kết quả ra màn hình.

Bài thực hành số 3: Công ty Yamaha Việt Nam là một công ty chuyên sản xuất xe máy với các model khác nhau như Serius, Taurus, Jupiter và cung cấp cho thị trường Việt Nam. Công ty có nhu cầu làm một phần mềm quản lý hệ thống phân phối các loại xe trên. Bạn là một thành viên trong nhóm phát triển phần mềm này và bạn được giao phải thực hiện các công việc sau

Tạo interface có tên IMotor nằm trong package motor gồm các phương thức

public void inputInfo();
public void displayInfo();

Tạo lớp MyMotor nằm trong package motor thực thi interface IMotor và có các thuộc tính sau

//Mã xe
private String code;                        
//Tên xe 
private String name;                        
//Dung tích xi lanh
private int capacity;
//Kiểu xe tay ga hay xe số
private String type;

Tạo lớp Jupiter nằm trong package motor.yamaha kế thừa từ lớp MyMotor. Trong lớp Jupiter bổ sung thêm thuộc tính warranty (thời gian bảo hành) có kiểu int.

Tạo lớp Serius nằm trong package motor.yamaha kế thừa từ lớp MyMotor. Trong lớp Serius bổ sung thêm thuộc tính color có kiểu String (màu xe).

Tạo lớp Yamaha nằm trong package motor.yamaha cho phép người dùng lựa chọn chức năng thông qua các con số. Khi người dùng nhập số 1, thực hiện nhập thông tin xe Jupiter. Khi người dùng nhập số 2, thực hiện nhập thông tin xe Serius. Khi người dùng nhập số 3, hiển thị thông tin xe Jupiter. Khi người dùng nhập số 4, hiển thị thông tin xe Serius