您的位置:首页 > 编程语言 > Java开发

Java中的transient关键字

2015-01-17 09:09 405 查看

transient 报错

英 ['trnznt] 美 ['trnzrnt] 全球发音 跟读 口语练习
adj. 短暂的;路过的

n. 瞬变现象;过往旅客;候鸟

java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。
作用
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。

transient说明一个属性是临时的,不会被序列化。
下面是一个Demo,name声明为 transient,不被序列化 。这个在C#里面是特性[ignore]而不是关键字。

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());

}

}

输出结果:

Java代码


null密码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: