2025-05-17

transient說明一個屬性是臨時的,不會被序列化。

下面是一個Demo,name聲明為transient,不被序列化

 

Java代碼

package com.zzs.tet; 

 

import java.io.File; 

import java.io.FileInputStream; 

import java.io.FileNotFoundException; 

import java.io.FileOutputStream; 

import java.io.IOException; 

import java.io.ObjectInput; 

import java.io.ObjectInputStream; 

import java.io.ObjectOutput; 

import java.io.ObjectOutputStream; 

import java.io.Serializable; 

 

public class TransientDemo implements Serializable{ 

    /**

     * 

     */ 

    private static final long serialVersionUID = 1L; 

    private  transient String name; 

    private String password; 

     

    public String getName() { 

        return name; 

    } 

 

    public void setName(String name) { 

        this.name = name; 

    } 

 

    public String getPassword() { 

        return password; 

    } 

 

    public void setPassword(String password) { 

        this.password = password; 

    } 

 

    /**

     * @param args

     * @throws IOException 

     * @throws FileNotFoundException 

     * @throws ClassNotFoundException 

     */ 

    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { 

        // TODO Auto-generated method stub 

        String path="D:"+File.separator+"object.txt"; 

        File file=new File(path); 

        TransientDemo transientDemo=new TransientDemo(); 

        transientDemo.setName("姓名"); 

        transientDemo.setPassword("密碼"); 

        ObjectOutput output=new ObjectOutputStream(new FileOutputStream(file)); 

        output.writeObject(transientDemo); 

        ObjectInput input=new ObjectInputStream(new FileInputStream(file)); 

        TransientDemo demo=(    TransientDemo )input.readObject(); 

        System.out.println(demo.getName()+demo.getPassword()); 

    } 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *