Java中创建对象的5种方式
1. 使用New关键字
Employee emp = new Employee();
2. 使用Class类的newInstance方法
使用Class类的newInstance方法创建对象。这个newInstance方法调用无参的构造函数创建对象。
Employee emp2 = (Employee) Class.forName("Employee 所在的完整路径").newInstance();
或
Employee emp2 = Employee.class.newInstance();
3. 使用Constructor类的newInstance方法
java.lang.reflect.Constructor类里也有一个newInstance方法可以创建对象。我们可以通过这个newInstance方法调用有参数的和私有的构造函数。
Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
4. 使用clone:
Employee emp4 = (Employee)emp3.clone();
5. 使用反序列化
当我们序列化和反序列化一个对象,jvm会给我们创建一个单独的对象。在反序列化时,jvm创建对象并不会调用任何构造函数。
为了反序列化一个对象,我们需要让我们的类实现Serializable接口
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();