- 浏览: 292373 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zh554275855:
1 接口是核心,其定义了要做的事情,包含了许多的方法,但没有定 ...
抽象类和接口的区别,使用场景 -
MeowPass:
[color=red][size=xx-large][alig ...
java 字符串split有很多坑,使用时请小心!! -
jayzc1234:
讲的很好 看头像还是个女的 真是牛逼
WEBX学习总结 -
wodexiang:
写的什么狗屎
jetty启动以及嵌入式启动 -
繁星水:
很好,感谢分享与总结,谢谢!
jetty启动以及嵌入式启动
关于这个问题,写了个简单的代码测试了下:
可序列化的类Father
不可序列化的类Mother
子类Son继承了父类Father
运行结果
由此证明父类可序列化子类也可序列化,而sn.getUnserialize()为null是因为子类里将它定义为了transient 类型的,所以子类的属性可否序列化取决于如何定义。
现在我们在子类里加入Mother类的引用
运行结果:
吼吼,出错鸟~Mother类不支持序列化哈~~~
可序列化的类Father
package com.taobao.test; import java.io.Serializable; /** * @author tina.wyn * */ public class Father implements Serializable { private static final long serialVersionUID = 1L; private Integer fatherage; private String str; public Father() { fatherage = 50; str = "I am father"; } public Integer getNumber() { return fatherage; } public void setNumber(Integer number) { this.fatherage = number; } public String getStr() { return str; } public void setStr(String str) { this.str = str; } }
不可序列化的类Mother
package com.taobao.test; public class Mother { private Integer matherage; private String str; public Mother(){ matherage = 30; str = "I am mother"; } public Integer getMatherage() { return matherage; } public void setMatherage(Integer matherage) { this.matherage = matherage; } public String getStr() { return str; } public void setStr(String str) { this.str = str; } }
子类Son继承了父类Father
package com.taobao.test; /** * @author tina.wyn * */ public class Son extends Father { private static final long serialVersionUID = 1L; private int age; private transient String unserialize; public Son() { age = 10; unserialize = "hi"; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUnserialize() { return unserialize; } public void setUnserialize(String unserialize) { this.unserialize = unserialize; } }
package com.taobao.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * @author tina.wyn * */ public class TestSerialize { public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { Son s = new Son(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(new File("hello"))); objectOutputStream.writeObject(s); ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(new File("hello"))); Son sn = (Son) objectInputStream.readObject(); System.out.println(sn.getAge()); System.out.println(sn.getNumber()); System.out.println(sn.getStr()); System.out.println(sn.getUnserialize()); } }
运行结果
10 50 I am father null
由此证明父类可序列化子类也可序列化,而sn.getUnserialize()为null是因为子类里将它定义为了transient 类型的,所以子类的属性可否序列化取决于如何定义。
现在我们在子类里加入Mother类的引用
package com.taobao.test; /** * @author tina.wyn * */ public class Son extends Father { private static final long serialVersionUID = 1L; private int age; private transient String unserialize; Mother mother; public Son() { mother = new Mother(); age = 10; unserialize = "hi"; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUnserialize() { return unserialize; } public void setUnserialize(String unserialize) { this.unserialize = unserialize; } public Mother getMother() { return mother; } public void setMother(Mother mother) { this.mother = mother; } }
运行结果:
Exception in thread "main" java.io.NotSerializableException: com.taobao.test.Mother at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) at com.taobao.test.TestSerialize.main(TestSerialize.java:21)
吼吼,出错鸟~Mother类不支持序列化哈~~~
发表评论
-
多线程重要方法的使用
2013-09-21 22:08 1431首先讲一下进程和线程的区别: 进程:每个进程都有 ... -
最容易被忽视的基础异常
2013-04-19 15:23 0result = getShopGroupDOList(req ... -
泛型的几个注意点!
2013-03-03 20:45 5270[size=medium]上周代码里碰 ... -
java 字符串split有很多坑,使用时请小心!!
2012-12-19 11:13 84206System.out.println(":ab: ... -
SimpleDateFormat多线程问题
2012-12-12 11:04 968之前在写控制双12开关的函数时遇到了SimpleDateFor ... -
webx框架之RundataService
2012-07-12 22:37 1344之前对webx的学习都是有关响应和处理请求的流程和源码实现,配 ... -
一个简单的test
2012-06-25 21:46 1023public class UrlTest { publ ... -
java.io学习总结
2012-06-18 00:33 9626我将按照基类的顺序:InputStream、OutPutStr ... -
HashMap源码学习分享心得
2012-06-01 14:58 1376[size=medium]今早在团队内分享了<通过 Ha ... -
System.arraycopy
2012-05-28 18:43 1342在JAVA里面,可以用复制 ... -
System类解析
2012-05-24 16:18 0System类是final类,无法被继承,包含一些有用的类字段 ... -
一个简单的Java(string)截取图片的后缀程序
2012-05-03 16:05 9225Java代码 public static String ... -
jboss启动时异常
2012-03-15 14:01 1469今天在启动jboss之前改动了一下它的jboss-servic ... -
理解ServletContext与ServletConfig
2011-11-23 16:44 1902javax.servlet Interface S ... -
Java 类中类属性 (static 变量) 和对象属性 (非 static 变量) 的初始化顺序
2011-11-20 18:25 1634Java 类中类属性 (static 变量) 和对象属 ... -
collectio接口的总结
2011-09-01 09:44 1086Map接口: | + -- WeakHashM ... -
JAVA中SERIALVERSIONUID的解释
2011-08-29 09:56 1031serialVersionUID作用: ... -
Java语法总结 - 内部类
2011-08-24 16:41 839从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论 ... -
java枚举类型
2011-08-22 18:46 931public class TestEnum { /*最 ... -
抽象类和接口的区别,使用场景
2011-08-18 15:16 21218抽象类和接口的区别,使用场景 1 接口是核心,其定义了要做 ...
相关推荐
子类从父笔尖 显示如何使用来自父类的 xib 实例化子类
如果一个类继承一个父类,那么子类会拥有父类所规定的所以成员 子类还可以拥有父类没有的独有成员 ...声明父类变量,实例化子类对象 Person p = new Student(); p.personshow();//说明不可以调用子类的方法,还是父类
子类不重写 __init__,实例化子类时,会自动调用父类定义的 __init__。 class Father(object): def __init__(self, name): self.name=name print ( name: %s %( self.name) ) def getName(self): return '...
因为子类中有一个隐藏的引用super会指向父类实例,所以在实例化子类之前会先实例化一个父类,也就是说会先执行父类的构造方法,由于s中包含了父类的实例,所以s可以调用父类的方法。 下面我们来看一下代码:
化子坪镇初级中学教育信息化发展规划.doc
定义了群上软集的正规化子与中心化子的概念,研究了群上软集的正规化子与中心化子的基本性质,进一步得到了群的同态映射之下,软集的正规化子(中心化子)的像与软集的像的正规化子(中心化子)之间的关系,软集的...
在本篇文章里小编给大家整理的是关于C#中将xml文件反序列化为实例时采用基类还是派生类的知识点讨论,有需要的朋友们学习下。
通过搜索[m]序列的零化子,计算其频谱重量,提出猜想:[n]级[m]序列的零化子最低频谱重量是[n 1],而该[m]序列的补序列恰恰是其一个最低频重零化子。研究了[m]序列零化子及其补序列的性质,从理论上证明了该猜想。...
有机电致发光中的双极化子,姜庆云,李盛,导电高分子中,除了极化子P,双极化子B也是载流子。正的双极化子和负的双极化子组成可以发光的双激子。此发光通道不出现三重态激�
前言 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__方法在类的一个对象被建立时,马上运行。...子类不重写__init__ , 实例化子类时,会自动调用父类定义的__init
我们已经对简化系统进行了理论和数值研究,假设所有电磁波(激光,斯托克斯和极化子)的振幅都是真实的(没有破坏性的时空相位调制)。 仅考虑低阶非线性过程。 结果表明,该系统可以简化为Sine-Gordon方程。 该...
具有平凡零化子的代数分解的唯一性,白承铭,孟道骥,我们证明任何一个具有平凡零化子的有限维代数能够分解为不可分解的理想直和,并且在不考虑理想次序的意义下分解是唯一的。
基于格的相对零化子概念提出了[BL-]代数的弱相对零化子概念。讨论了弱相对零化子的基本性质,证明了弱相对零化子是[BL-]代数的滤子,给出了弱相对零化子的表示定理。进一步提出了弱零化子概念,给出了零化子等价于弱...
JAVA 基础知识总结 第一章 Java 入门 第二章标示符,运算符 第三章表达式,语句 第四章数据类型,字符串,数组 第五章类,方法,关键字保留字 第六章对象,继承,接口, 包 1. 对象: 声明对象: ...在实例化子类对象时
java基础教程301集140 当实例化子类时父.mp4
自动化子站部分.docx
我们研究了磁化D膜模型中全同质Yukawa联轴器的模块化变换。 发现它们的乘积是模块化形式,其是有限模块化子组的非平凡表示,例如S3,S4,Δ(96)和Δ(384)。
办公自动化子系统.pdf
办公自动化子系统.doc