java 建立對象的四種方法

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class TestClone implements Cloneable, Serializable {

	private static final long serialVersionUID = 8918347373198497812L;
	
	private int test = -4;

	/**
	 * 使用了四種方法初始化對象 
	 */
	public static void main(String[] args) throws InstantiationException, IllegalAccessException, CloneNotSupportedException, IOException, ClassNotFoundException {

		TestClone testClone = new TestClone();
		Object clone = testClone.clone();
		TestClone result = (TestClone) clone;
		System.out.println(result.test);
		TestClone tarClone = TestClone.class.newInstance();
		System.out.println(tarClone.test);
		saveObject();
		readObject();

	}

	private static void readObject() throws IOException, ClassNotFoundException {
		FileInputStream inputStream = new FileInputStream(new File("c:\\temp.obj"));

		ObjectInputStream oInputStream = new ObjectInputStream(inputStream);

		Object readObject = oInputStream.readObject();
		if (readObject instanceof TestClone) {
			TestClone testClone = (TestClone) readObject;
			System.out.println(testClone.test);
		}
	}

	private static void saveObject() throws IOException {

		TestClone testClone = new TestClone();
		FileOutputStream out = new FileOutputStream(new File("c:\\temp.obj"));
		ObjectOutputStream outputStream = new ObjectOutputStream(out);
		outputStream.writeObject(testClone);
	}
}
相關文章
相關標籤/搜索