JAVA中创建对象的四种方式
/** * <p> * Title: 创建对象的四种方式 * </p> * * * @author lwx * @version 1.0 * @create 2013 1 17 14:03:35 */ public class CreateObj implements Cloneable,Serializable{ private static String filename = CreateObj.class.getResource("").getPath() + "/obj.txt"; static File file = new File(filename); static { if (!file.exists()) try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) throws Exception { // 1.第一种常用方式 CreateObj s1 = new CreateObj(); System.out.println(s1); // 2.第二种方式 静态方式 java.lang.InstantiationException CreateObj s2 = (CreateObj) Class.forName( "com.newland.commons.collectionutil.CreateObj").newInstance(); System.out.println(s2); //第三种方式 用对象流来实现 前提是对象必须实现 Serializable ObjectOutputStream objectOutputStream = new ObjectOutputStream( new FileOutputStream(filename)); objectOutputStream.writeObject(s2); ObjectInput input=new ObjectInputStream(new FileInputStream(filename)); CreateObj s3 = (CreateObj) input.readObject(); System.out.println(s3); //第四种 clone 必须 实现Cloneable接口 否则抛出CloneNotSupportedException CreateObj obj=new CreateObj(); CreateObj s4= (CreateObj) obj.clone(); System.out.println(s4); } }
关于clone的介绍:http://www.blogjava.net/jerry-zhaoj/archive/2009/10/14/298141.html