Java transient关键字
2014-08-08 09:54
197 查看
一、transient 关键字作用
用来修饰变量,如果一个对象被序列化后,我们想屏蔽掉此对象一个属性使其避免序列化保存时,可以用transient关键字修饰对应的域,则当此对象被序列化时,用transient关键字修饰的成员变量不会被序列化
二、代码示例
用来修饰变量,如果一个对象被序列化后,我们想屏蔽掉此对象一个属性使其避免序列化保存时,可以用transient关键字修饰对应的域,则当此对象被序列化时,用transient关键字修饰的成员变量不会被序列化
二、代码示例
package org.jxl.java.basic.io; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; /** * @desc transient关键字的说明 * @date 2014年8月6日 下午4:59:04 * @version 1.0 * @author Jin Xueliang */ public class TransientObj implements Serializable // 实现序列化接口,以便对象流进行操作 { /** * */ private static final long serialVersionUID = 1L; private String p1; private int p2; private transient String p3; // 用transient修饰,使此成员变量在序列化时屏蔽掉 public TransientObj(String p1, int p2, String p3) { super(); this.p1 = p1; this.p2 = p2; this.p3 = p3; } public String getP1() { return p1; } public void setP1(String p1) { this.p1 = p1; } public int getP2() { return p2; } public void setP2(int p2) { this.p2 = p2; } public String getP3() { return p3; } public void setP3(String p3) { this.p3 = p3; } public static void main(String[] args) { // 三个成员分别赋值为:p1、12、p3 TransientObj obj = new TransientObj("p1", 12, "p3"); try { String file = "/data/test/transient.log"; ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(file)); // 对象输出流,操作的对象必须实现 java.io.Serializable 接口 objectOutputStream.writeObject(obj); objectOutputStream.close(); ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(file)); // 对象输入流,操作的对象必须实现 java.io.Serializable 接口 TransientObj readObj = (TransientObj)inputStream.readObject(); inputStream.close(); System.out.println(readObj.getP1()); // 输出 p1 System.out.println(readObj.getP2()); // 输出 12 System.out.println(readObj.getP3()); // 成员变量p3被transient关键字修饰,则输出为 null,而不是p3, }catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- Java关键字之native,strictfp,transient,volatile
- Java中对象的串行化(Serialization)和transient关键字
- Java关键字之native,strictfp,transient,volatile
- Java中的transient,volatile和strictfp关键字
- JAVA transient 关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中的transient,volatile和strictfp关键字
- Java中的transient,volatile和strictfp关键字
- Java中的transient、volatile、strictfp关键字使用
- Java关键字之native,strictfp,transient,volatile
- Java关键字之native,strictfp,transient,volatile
- Java中的transient,volatile和strictfp关键字
- java关键字Transient
- Java关键字之native,strictfp,transient,volatile
- Java关键字之native,strictfp,transient,volatile
- Java中对象的串行化(Serialization)和transient关键字
- java中的volatile和transient关键字
- Java不常用的关键字介绍 native,strictfp,transient,volatile
- Java中对象的串行化(Serialization)和transient关键字
- Java语言中关键字讲解(二)transient的用途