当使用Serializable接口实现序列化操作时,如果一个对象中的某一属性不希望被序列化,则可以使用transient关键字进行声明

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable; //=================================================
// File Name : Serializable_demo
//------------------------------------------------------------------------------
// Author : Common //类名:Person_3
//属性:
//方法:
class Person_3 implements Serializable{ //此类的对象可以被序列化
private transient String name;
private int age; public Person_3(String name, int age) {
super();
this.name = name;
this.age = age;
} @Override
public String toString() {
return "姓名:" + name + ", 年龄:" + age;
} } //主类
//Function : Serializable_demo;
public class Serializable_demo { public static void main(String[] args) throws Exception {
// TODO 自动生成的方法存根
// File f = new File("/home/common/software/coding/HelloWord/HelloWord/test.txt");//路径
// ObjectOutputStream oos = null;
// OutputStream out = new FileOutputStream(f); //文件输出流
// oos = new ObjectOutputStream(out); //为对象输出流实例化
// oos.writeObject(new Person_3("张三", 30));
// oos.close(); File f = new File("/home/common/software/coding/HelloWord/HelloWord/test.txt");//路径
ObjectInputStream ois = null;
InputStream input = new FileInputStream(f); //文件输入流
ois = new ObjectInputStream(input); //为对象输入流实例化
Object obj = ois.readObject(); //读取对象
ois.close();
System.out.println(obj);
} }

<3>序列化一组对象

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable; //=================================================
// File Name : Serializable_demo
//------------------------------------------------------------------------------
// Author : Common //类名:Person_3
//属性:
//方法:
class Person_3 implements Serializable{ //此类的对象可以被序列化
// private transient String name;
private String name;
private int age; public Person_3(String name, int age) {
super();
this.name = name;
this.age = age;
} @Override
public String toString() {
return "姓名:" + name + ", 年龄:" + age;
} } //主类
//Function : Serializable_demo;
public class Serializable_demo { public static void main(String[] args) throws Exception {
// TODO 自动生成的方法存根
// File f = new File("/home/common/software/coding/HelloWord/HelloWord/test.txt");//路径
// ObjectOutputStream oos = null;
// OutputStream out = new FileOutputStream(f); //文件输出流
// oos = new ObjectOutputStream(out); //为对象输出流实例化
// oos.writeObject(new Person_3("张三", 30));
// oos.close(); // File f = new File("/home/common/software/coding/HelloWord/HelloWord/test.txt");//路径
// ObjectInputStream ois = null;
// InputStream input = new FileInputStream(f); //文件输入流
// ois = new ObjectInputStream(input); //为对象输入流实例化
// Object obj = ois.readObject(); //读取对象
// ois.close();
// System.out.println(obj); Person_3 per[] = {new Person_3("张三",30),new Person_3("李四",31),new Person_3("王五",32)};//定义对象数组
ser(per); //序列化对象数组
Object o[] = dser();
for(int i=0;i<o.length;i++){
Person_3 p = (Person_3) o[i];
System.out.println(p);
}
} public static void ser(Object obj[]) throws Exception{
File f = new File("/home/common/software/coding/HelloWord/HelloWord/test.txt");//路径
ObjectOutputStream oos = null;
OutputStream out = new FileOutputStream(f); //文件输出流
oos = new ObjectOutputStream(out); //为对象输出流实例化
oos.writeObject(obj);
oos.close();
} public static Object[] dser() throws Exception{
File f = new File("/home/common/software/coding/HelloWord/HelloWord/test.txt");//路径
ObjectInputStream ois = null;
InputStream input = new FileInputStream(f); //文件输入流
ois = new ObjectInputStream(input); //为对象输入流实例化
Object obj[] = (Object[])ois.readObject(); //读取对象数组
ois.close();
return obj;
} }

Java关键字——transient的更多相关文章

  1. Java关键字transient和volatile小结(转)

    Java关键字transient和volatile小结(转) transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶的话题,简单总结一下. tran ...

  2. 【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化

    接着来说这个JSON循环引用的问题: 关于JSON格式的转化,其实关键就是这几个依赖: <!-- json --> <!-- 1号 --> <dependency> ...

  3. Java关键字:transient,strictfp和volatile简介

    关键字:transient 使用对象:字段 介绍:transient说明一个属性是临时的,不会被序列化. 当对象进行序列化(Serializable)过程时候,有一些属性的状态是瞬时的,这样的对象是无 ...

  4. java 关键字 transient

    一个对象实现了Serilizable 接口,该对象就可以被序列化. 然而在实际开发工程中,我们会遇到,这个类的有些属性不需要序列化,比如包含用户的敏感信息(如密码),为了安全起见,不希望在网络操作(主 ...

  5. java关键字-transient

    java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持. Java的serialization提供了一种持久化对象实例的机制.当持久化对象时,可能有 ...

  6. java 关键字transient

    http://www.cnblogs.com/lanxuezaipiao/p/3369962.html 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口 ...

  7. 转载:关于java关键字transient

    今天在map源码中看到这个关键字  百度看一下  转载记录下 源文:http://www.cnblogs.com/lanxuezaipiao/p/3369962.html 1. transient的作 ...

  8. JAVA关键字transient

    转载自http://www.cnblogs.com/liuling/archive/2013/05/05/transient.html 1.transient关键字只能修饰变量,而不能修饰方法和类.注 ...

  9. java关键字transient与volatile小结

    本文转自:http://heaven-arch.iteye.com/blog/1160693 transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶 ...

随机推荐

  1. 开发错误日记 12: Unsupported major.minor version 52.0

    开发错误日记 12: Unsupported major.minor version 52.0 在编译时出现如下错误: java.lang.UnsupportedClassVersionError: ...

  2. 【BZOJ 2154】Crash的数字表格

    制杖了,,,求前缀和的时候$i×i$是int,然后当$i=10^7$时就喜闻乐见地爆int了,,,对拍之后查了一个下午的错才发现这个问题,,,最后枚举用的变量全都强行加上long long才A掉 #i ...

  3. Java Decompiler 反编译工具下载地址及JD-Eclipse设置菜单翻译

    官网地址:http://jd.benow.ca/ JD-GUI:jd-gui-0.3.6.windows.zip JD-Eclipse:jd-eclipse-site-1.0.0-RC2.zip 菜单 ...

  4. java的debug和release编译方式

    以前没有注意过,其实Java编译成.class 有两种方式 使用javac,默认使用的release方式,而我们经常使用的MyEclipse工具,用的是debug模式. 区别暂时了解如下: relea ...

  5. 页面打开自动触发onlick事件

    <script type="text/javascript"> // 两秒后模拟点击 setTimeout(function() { // IE if(document ...

  6. 02python算法-二分法简介

    老规矩: 什么是二分法: 其实是一个数学领域的词,但是在计算机领域也有广泛的使用. 为什么需要二分法? 当穷举算法性能让你崩溃时. 二分法怎么用呢? 让我们先玩一个游戏先,我心里想一个100以内的整数 ...

  7. [转]REST简介

    转自:http://www.cnblogs.com/loveis715/p/4669091.html 一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的 ...

  8. Java Web项目中的经典代码抽取

    前言: 众所周知的,项目开发中做得最多的无非就是增删查改(CRUD)操作.自从国内Web项目开发渐渐盛行SSH框架之后,其开发开发流程也变得更加灵活:本文就项目开发中的业务层代码作个简单的抽取,供业内 ...

  9. Hadoop启动报Error: JAVA_HOME is not set and could not be found解决办法

    Hadoop安装完后,启动时报Error: JAVA_HOME is not set and could not be found. 解决办法: 修改/etc/hadoop/hadoop-env.sh ...

  10. C# winform窗体设计-对数据库执行增删改操作

    对于学习数据库的人来说,数据库的增删改可谓是最基本的了(小编其实也只是一个小白=-=),这篇文章,小编将于大家讲解数据库增删改操作 在执行数据库增删改的时候主要使用的:Command 类       ...