VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Java Cơ Bản

Java là gì? Lịch sử Java Các tính năng của Java Cài đặt môi trường Java (cho người mới bắt đầu) Thiết lập PATH cho java Chương trình Hello World JDK, JRE và JVM Biến trong java Các kiểu dữ liệu trong java Ép kiểu (Type casting) Các toán tử trong Java Hệ thống Unicode trong java

Câu Lệnh Điều Khiển

Mệnh đề If-else Mệnh đề Switch-case Vòng lặp For Vòng lặp While Vòng lặp Do-While Break trong java Continue trong java Chương trình java kinh điển

Các Tính Chất Của Java OOPs

Tính đóng gói trong java Tính kế thừa trong java Tính đa hình trong java Nạp chồng phương thức Ghi đè phương thức Overloading vs Overriding

Các Khái Niệm Java OOPs

Tổng quan java OOPs Lớp và đối tượng Package trong java Constructor trong java Từ khóa this trong java Từ khóa super trong java Từ khóa final trong java Từ khóa static trong java Access Modifier trong java Abstract class trong java Interface trong java Abstract vs Interface trong java Lớp Object trong java Object Cloning trong java equals() và hashCode() Array (mảng) trong java Khai báo mảng trong java Duyệt mảng trong java Lớp Wrapper trong java Đệ quy trong java Truyền giá trị và tham chiếu trong java Toán tử instanceof trong java Sử dụng regex trong java

Mô Hình MVC

Mô hình MVC là gì? - Ví dụ login sử dụng mô hình MVC trong Java

Java Programs

Tính giai thừa trong java Check số nguyên tố trong java Dãy số Fibonacci trong java Chuyển đổi hệ cơ số trong java Liệt kê n số nguyên tố đầu tiên trong Java
Java String Xử Lý Ngoại Lệ Các Lớp Lồng Nhau Đa Luồng (Multithreading) Java AWT Java Swing Java I/O Ví Dụ Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Java Math Bài Tập Java Có Lời Giải Câu Hỏi Phỏng Vấn Java
1 / 3
❮ ❯

Package trong java


Lớp và đối tượng trong java
Constructor trong java

Một package (gói) trong java là một nhóm các kiểu tương tự của các lớp, giao diện và các package con .

Package trong java có thể được phân loại theo hai hình thức, package được dựng sẵn và package do người dùng định nghĩa.

Có rất nhiều package được dựng sẵn như java, lang, AWT, javax, swing, net, io, util, sql, ...

Trong bài này, chúng ta sẽ học:

  • Chi tiết về việc tạo và sử dụng các package người dùng định nghĩa.
  • Ví dụ cách tổ chức package chuyên nghiệp trong java.

Nội dung chính

  • Lợi thế của việc sử dụng package trong java
  • Ví dụ về java package
    • Biên dịch java package
    • Run java package
  • Truy cập package từ package khác
    • 1. Sử dụng packagename.*
    • 2. Sử dụng packagename.classname
    • 3. Sử dụng tên đầy đủ
  • Package con trong java
    • Ví dụ về Subpackage
  • Ví dụ cách tổ chức package chuyên nghiệp trong java

Lợi thế của việc sử dụng package trong java

  1. Package được sử dụng để phân loại lớp và interface giúp dễ dàng bảo trì.
  2. Package cung cấp bảo vể truy cập
  3. Package khắc phục được việc đặt trùng tên.
Package trong java

Ví dụ về java package

Từ khóa package được sử dụng để tạo một package trong java

//Save file Simple.java
package mypack;  
public class Simple {  
    public static void main(String args[]) {
        System.out.println("Learn java package");
    }
}  

Biên dịch java package

Nếu bạn không sử dụng IDE, bạn cần thực hiện theo cú pháp dưới đây:

javac -d directory javafilename  

Ví dụ:

javac -d . Simple.java  

Lệnh -d được sử dụng để xách định nơi lưu trữ file .class sau khi biên dịch. Bạn có thể sử dụng bất kỳ tên thư mục nào như /home (Trong Linux OS), D:/temp (Trong Window OS). Nếu bạn muốn giữ các package này trong thư mục hiện tại ban sử dụng dấu chấm (.).


Run java package

Để run java package, bạn cần phải sử dụng tên đầy đủ. Ví dụ mypack.Simple.

Compile: javac -d . Simple.java

Run: java mypack.Simple

Kết quả:

Learn java package

Dấu chấm (.) biển diễn thư mục hiện tại.


Truy cập package từ package khác

Có 3 cách để truy cập package từ package bên ngoài:

  • Khai báo import package.*;
  • Khai báo import package.classname;
  • Sử dụng tên đầy đủ.

1. Sử dụng packagename.*

Nếu bạn sử dụng packagename.*. Thì tất cả các lớp và các interface của các gói này sẽ có thể truy cập, nhưng gói con của gói này thì không được truy cập.

Từ khóa import được sử dụng để truy cập các lớp và interface của gói khác từ gói hiện tại.

Ví dụ:

package pack;
public class A {
    public void msg() {
        System.out.println("Hello");
    }
}
package mypack;  
import pack.*;  
  
class B {
    public static void main(String args[]) {
        A obj = new A();
        obj.msg();
    }
}

Kết quả:

Hello

2. Sử dụng packagename.classname

Nếu bạn khai báo import package.classname thì chỉ được truy cập tới lớp đã được khai báo của package này.

Ví dụ:

package pack;  
public class A {
    public void msg() {
        System.out.println("Hello");
    }
} 
package mypack;  
import pack.A;  
  
class B {
    public static void main(String args[]) {
        A obj = new A();
        obj.msg();
    }
}

Kết quả:

Hello

3. Sử dụng tên đầy đủ

Nếu bạn sử dụng tên đầy đủ thì chỉ được truy cập tới lớp đã được khai báo của package này. Bạn không cần phải sử dụng đến từ khóa import. Nhưng bạn cần phải sử dụng tên đầy đủ mỗi khi bạn truy cập vào các lớp hoặc interface.

Cách này thường được sử dụng khi 2 package có tên lớp giống nhau. Ví dụ, 2 package java.util và java.sql chứa lớp có tên giống nhau là lớp Date

Ví dụ:

package pack;  
public class A {
    public void msg() {
    System.out.println("Hello");
    }
}
package mypack;  
class B{  
    public static void main(String args[]){  
        pack.A obj = new pack.A(); //Sử dụng tên đầy đủ
        obj.msg();  
    }  
}  

Kết quả:

Hello
Note: Nếu bạn import một package thì package con của package đó không được import.
Thứ tự của chương trình phải là package->import->class.
thứ tự của package trong java

Package con trong java

Package bên trong một package khác được gọi là subpackage hay package con trong java.

Ví dụ, Sun Microsystem đã định nghĩa một gói có tên java chứa nhiều lớp như System, String, Reader, Writer, Socket, ... Các lớp này đại diện cho một nhóm cụ thể ví dụ như các lớp Reader và Writer cho các hoạt động Input/Output, Socket và ServerSocket các lớp xử lý mạng, ... Vì vậy, Sun đã phân loại lại gói java thành các gói phụ như lang, net, io, ... Và đặt các lớp liên quan đến Input/Output trong gói io, các lớp Server và ServerSocket trong các gói net.

Tiêu chuẩn để định nghĩa tên package trong java là domain.company.package ví dụ như: vn.viettuts.action hoặc org.sssit.dao.

Ví dụ về Subpackage

package vn.viettuts.core;

public class Simple {
    public static void main(String args[]) {
        System.out.println("Hello subpackage");
    }
}

Compile: javac -d . Simple.java

Run: java vn.viettuts.core.Simple

Kết quả:

Hello subpackage

Ví dụ cách tổ chức package chuyên nghiệp trong java

Các ví dụ ở trên cung cấp cho bạn cách để compile và run một lớp bên trong package do người dụng định nghĩa một cách thủ công. Khi đi làm về java trong môi trường thực tế, bạn sẽ phải học và sử dụng các IDE như eclipse, netbean, ... Những IDE này cung cấp cho bạn cách tạo và biên dịch cả một dự án đơn giản hơn rất nhiều. Khi đó bạn không cần phải nhớ các lệnh compile và run như ở trên.

Dưới dây là ví dụ cách tổ chức package chuyên nghiệp cho một dự án java web trên eclipse:

Ví dụ cách tổ chức package chuyên nghiệp trong java
Lớp và đối tượng trong java
Constructor trong java

Bài viết liên quan:

  • Access Modifier trong Java
  • Tính đóng gói trong java

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Java Swing - Bài tập quản lý sinh viên trong javaLinkedList trong javaArrayList trong javaBài tập java có lời giảiSử dụng Javascript trong HTMLToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - Sắp xếp nổi bọt (Bubble Sort) trong JavaBài tập quản lý sinh viên trong JavaHashSet trong java

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml