C++编程语言互换流中的标准输出流,需要iostream支持 cout语句的一般格式: cout<<表达式1<<表达式2<<……<<表达式n<
使用cin和cout不需要考虑输入和输出的数据类型,可以自动根据数据的类型调整输入输出的格式
import java.io.*; import java.util.*; class Student implements Serializable { String name=null; double height; Alt object; Student(String name,double height) { this.name=name; this.height=height; } public void setHeight(double c) { this.height=c; } public void setObject(Alt object) { this.object=object; } } public class ObjectStreamExa { public static void main(String[] arg) { Student zhang=new Student('张三',1.65); Alt object=new Alt(11,'good'); zhang.setObject(object); try { File f=new File('G://java code/jackxu/src','good.txt'); FileOutputStream file=new FileOutputStream(f); ObjectOutputStream object_out=new ObjectOutputStream(file); object_out.writeObject(zhang); object_out.close(); FileInputStream file_in=new FileInputStream(f); ObjectInputStream object_in=new ObjectInputStream(file_in); Student li=(Student)object_in.readObject(); Alt objec=new Alt(12,'god'); li.setObject(objec); li.setHeight(1.78); li.name='李四'; System.out.println(zhang.name+'身高是: '+zhang.height); System.out.println(li.name+'身高是: '+li.height); System.out.println(zhang.object.a); } catch(ClassNotFoundException event) { System.out.println('不能读出对象'); } catch(IOException event) { System.out.println('can not read file'+event); } } } class Alt implements Serializable { int a; String keyname; Alt(int a,String keyname) { this.a=a; this.keyname=keyname; } }上面的程序是对象输入输出流中。写入到目的地good.txt有一个引用变量Alt object,因为对象输入输出流实现了克隆接口,读取的输入流对象Student li是一个克隆对象,它改变了原类中的引用变量Alt object,则当克隆对象改变原对象中基本数据类型成员变量时,输出zhang.name,zhang.height应该是是克隆对象重新赋的值,而不是初始值'张三',1.65。