java例項化物件的五種方式
阿新 • • 發佈:2019-01-06
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();