Java创建对象的五种方式:new关键字、Class类的newInstance方法、Constructor类的newInstance方法、clone方法和反序列化。 1 new关键字 Person person1 = new Person(); 2 Class类的newInstance方法 Person person
Java创建对象的五种方式:new关键字、Class类的newInstance方法、Constructor类的newInstance方法、clone方法和反序列化。
1 new关键字
Person person1 = new Person();2 Class类的newInstance方法
Person person21 = (Person) Class.forName("com.mingo.classNew.Person").newInstance();Person person22 = Person.class.newInstance();
3 Constructor类的newInstance方法
Constructor<Person> constructor=null;try {
constructor = Person.class.getConstructor();
} catch (NoSuchMethodException e1) {
e1.printStackTrace();
} catch (SecurityException e1) {
e1.printStackTrace();
}
try {
Person person3 = constructor.newInstance();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
4 clone方法
Person person4 = (Person) person1.clone();使用clone方法,类Person必须实现Cloneable接口并重写其定义的clone方法
5 反序列化
ObjectInputStream in=null;try {
in = new ObjectInputStream(new FileInputStream("data.obj"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
Person person5 = (Person) in.readObject();
} catch
为了使用反序列化一个对象,类Person必须实现Serializable接口