1. 程式人生 > >java例項化物件的五種方式

java例項化物件的五種方式

1、用new語句建立物件,這是最常見的建立物件的方法。

Student student = new Student();

2、通過工廠方法返回物件,如:String str = String.valueOf(23); 

public interface Factory{Product createProduct(); public class ConcreateFactory implements Factory{} public Product createProduct(){return new ConcreateProduct(); } public class ConcreateProduct implements Product{}
} public interface Product{} private Factory factory;public class Client{ this.factory = factory;public Client(Factory factory){ } Product product = factory.createProduct();public void dosomething(){ } Client client = new Client(new ConcreateFactory());public static void main(String[] args){ client.dosomething(); } }


3、運用反射手段,呼叫java.lang.Class或者java.lang.reflect.Constructor類的newInstance()例項方法。如:Object obj = Class.forName("java.lang.Object").newInstance(); 

c1 = Class.forName('com.ghgj.reflect.Student');
Student student3 = (Student)c1.newInstance();

4、呼叫物件的clone()方法。

Student student2 = (Student) student.clone();


5、通過I/O流(包括反序列化),如運用反序列化手段,呼叫java.io.ObjectInputStream物件的 readObject()方法。

ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream("C:/student.txt"));
out.writeObject(student);
out.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream("C:/student.txt"));
Student student4 = (Student)in.readObject();
in.close();