序一致,否则会出现异常
System.out.println(ois.readInt());
System.out.println(ois.readBoolean());
System.out.println(ois.readChar());
System.out.println(ois.readDouble());
System.out.println(ois.readUTF());
Object dog = ois.readObject();//底层Object -> Dog
System.out.println("运行类型 = " + dog.getClass());
System.out.println("dog信息 = " + dog);
//要想使用 我们这个反序列化来的Dog对象,还得使Dog可以在这被引用,然后向下转型
//1. 如果我们希望调用Dog的方法,需要向下转型
//2. 需要我们将Dog类的定义,放在可以引用的位置
Dog dog2 = (Dog)dog;
System.out.println(dog2.getName());
//关闭流
ois.close();
}
}
/*运行结果
100
true
a
9.5
红楼梦
运行类型 = class com.hsp.outputstream_.Dog
dog信息 = Dog{name='旺财', age=10, color = 'null', nation = 'null'} com.hsp.outputstream_.Master@66a29884
旺财
*/
|