Package trong Java được sử dụng nhằm tránh mâu thuẫn trong cách đặt tên và kiểm soát truy cập của các class, sub-class và interface.
Bằng việc sử dụng các package, lập trình viên sẽ dễ dàng sắp xếp và tìm kiếm các class, đồng thời package cung cấp một cấu trúc tốt cho dự án, đặc biệt với các dự án có lượng class và file lớn
Package được chia thành 2 phần chính:
Built-in packages: Trong java đã định nghĩa sẵn rất nhiều package, và các package này chứa 1 lượng lớn các class, intertfaces cho lập trình viên sử dụng
User-defined packages: Được tạo ra và định nghĩa bởi người dùng, lập trình viên.
Built-in packages
Những package đi kèm với JDK/ JRD hoặc người dùng tải thêm được biết đến như là những built-in packages. Những built-in package này được lưu ở dạng file .JAR và khi người dùng giải nén các file .JAR này, người dùng có thể dễ dàng nhìn thấy các package như lang, io, util, SQL, v..v.. Java cung cấp rất nhiều built-in packages như java.awt
Một vài ví dụ về Built-in Package
java.sql
: Cung cấp các class nhằm truy xuất và xử lý dữ liệu lưu trữ trong database. Các classe phổ biến như Connection, DriverManager, PreparedStatement, ResultSet, Statement,..v…v.java.lang
: Chứa những class và interface là thành phần cơ bản để thiết kế ngôn ngữ lập trình Java. Các classe phổ biến như String, StringBuffer, System, Math, Integer, v..v.java.util
: Chứa những class hỗ trợ, collections, số như ArrayList, LinkedList, HashMap, Calendar, Date, Time Zone, ..v..v.java.net
: Cung cấp những class hỗ trợ triển khai các ứng dụng mạng như Authenticator, HTTP Cookie, Socket, URL, URLConnection, URLEncoder, URLDecoder, ..v…v.java.io
: Cung cấp những class thao tác với input/output của hệ thống như BufferedReader, BufferedWriter, File, InputStream, OutputStream, PrintStream, Serializable, ..v…vjava.awt
: Chứa những class tạo ra giai diện người dùng và vẽ hình ảnh như Button, Color, Event, Font, Graphics, Image, ..v…v
Ví dụ về các package với code 😀😀😀
- Java.Awt
importjava.awt.*;publicclassAWTExample{AWTExample(){Frame fr1=newFrame();Label la =newLabel("Welcome to the java graphics VIBLO");
fr1.add(la);
fr1.setSize(200,200);
fr1.setVisible(true);}publicstaticvoidmain(String args[]){Testawt tw =newTestawt();}}
// using DatagramSocket under java.net packageimportjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetAddress;importjava.net.SocketException;publicclass UDP {publicstaticvoidmain(String[] args)throwsIOException{// Create a socket to listen at port 4567int port_no =4567;DatagramSocket ds =newDatagramSocket(port_no);byte[] receive =newbyte[65535];DatagramPacketDpReceive=null;while(true){// create a DatgramPacket to receive the data.DpReceive=newDatagramPacket(receive,
receive.length);// receive the data in byte buffer.
ds.receive(DpReceive);System.out.println("DATA:- "+data(receive));// Clear the buffer after every message.
receive =newbyte[65535];}}}
- Java.sql
importjava.sql.*;publicclassJavaSQL{staticfinalString URL ="jdbc:mysql://localhost/VibloDB";staticfinalString USER ="user";staticfinalString PASSWORD ="123";staticfinalString QUERY ="SELECT ID, NAME, ADDRESS FROM STUDENTS";publicstaticvoidmain(String[] args){// Open a connectiontry(Connection con =DriverManager.getConnection(URL, USER, PASSWORD);Statement stm = con.createStatement();ResultSet rs = stm.executeQuery(QUERY);){while(rs.next()){// Retrieving data from column nameSystem.out.print("ID: "+ rs.getInt("id"));System.out.print(",NAME: "+ rs.getInt("name"));System.out.println(",ADDRESS: "+ rs.getString("address"));}}catch(SQLException e){
e.printStackTrace();}}}
importjava.io.Console;class example_io {publicstaticvoidmain(String args []){Console cons =System.console();System.out.println("Enter your favorite color");String colour ;
colour = cons.readLine();System.out.println("Favorite colour is "+ colour);}}
Nguồn: viblo.asia