Từ khóa transient trong java – học Java miễn phí hay nhất – VietTuts

Từ khóa transient trong java được sử dụng trong serialization. Nếu bạn định nghĩa bất kỳ thành viên dữ liệu nào là transient, nó sẽ không được đánh dấu là tuần tự (serialize).

Ví dụ, khai báo một lớp Student, có ba thành viên dữ liệu là id, name và age. Lớp Student implements giao tiếp Serializable, tất cả các giá trị sẽ được tuần tự nhưng nếu bạn không muốn tuần tự cho một giá trị, ví dụ: age thì bạn có thể khai báo age với từ khóa transient.

Ví dụ về từ khóa transient trong java

Trong ví dụ này, chúng ta tạo ra hai lớp Student và PersistExample. Thành viên dữ liệu của lớp Student được khai báo với từ khóa transient, giá trị của nó sẽ không được tuần tự.

Khi đối tượng được giải mã tuần tự hóa, bạn sẽ nhân được giá trị mặc định của kiểu dữ liệu của biến được khai báo với từ khóa transient.

Tạo lớp Student với biến age được khai báo với từ khóa transient.

Bây giờ tạo lớp PersistExample và sử dụng ObjectOutputStream để ghi đối tượng student vào file student.txt

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class PersistExample {
    public static void main(String args[]) throws Exception {
        ObjectOutputStream oos = null;
        try {
            // tạo object ObjectOutputStream
            oos = new ObjectOutputStream(new FileOutputStream("student.txt"));
            // tạo object student
            Student student = new Student(1001, "Tran Van A", 22);
            // ghi student vào file
            oos.writeObject(student);
            oos.flush();
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            oos.close();
        }
        System.out.println("success...");
    }
}