-
直接通过new关键字创建对象:通过类名和构造函数,使用new关键字创建对象的最基本的方法,例如:
MyClass myObject = new MyClass();
-
使用Class类的newInstance()方法:使用Class类的newInstance()方法动态创建对象,例如:
MyClass myObject = (MyClass) Class.forName("MyClass").newInstance();
-
使用反射机制:使用Java反射机制中的Constructor对象的newInstance()方法,例如:
Constructor<MyClass> cons = MyClass.class.getConstructor(); MyClass myObject = cons.newInstance();
-
使用clone()方法:如果对象实现了Cloneable接口,就可以使用clone()方法克隆对象,例如:
MyClass myObject1 = new MyClass(); MyClass myObject2 = (MyClass) myObject1.clone();
-
使用反序列化:使用对象的序列化和反序列化技巧可以通过将对象写入文件或网络中,再从文件或网络读取该对象的方式来创建对象,例如:
MyClass myObject = new MyClass();
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("myObject.data"));
out.writeObject(myObject);
out.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream("myObject.data"));
MyClass myObject = (MyClass) in.readObject();
in.close();