概述反射和序列化
Reflection 是 Java 被视为动态(或准动态)语言的一个关键性质。
这个机 制允许程序在运行时透过 Reflection APIs 取得任何一个已知名称的 class 的内部 信息,包括其 modifiers(诸如 public, static 等等)、superclass(例如 Object)、 实现之 interfaces(例如 Cloneable),也包括 fields 和 methods 的所有信息,并 可于运行时改变 fields 内容或唤起 methods。本文借由实例,大面积示范 Reflection APIs。
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容 进行流化。
可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络 之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现 Serializable 接口,该接口没有需 要实现的方法,implements Serializable 只是为了标注该对象是可被序列化的, 然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对 象流)对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj)方 法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流