1.使用new关键字创建对象
Student student = new Student();
2.使用clone方法创建对象
在我们调用clone方法前,需要先实现cloneable接口并重写clone方法,在调用clone方法时jvm会创建一个新的对象,并将要clone的对象拷贝到新的对象当中。
Person p2 = (Person) p1.clone();
3.使用反射创建对象
直接调用class的newInstance方法创建对象,代码如下:
Student student = Student.class.newInstance();
通过构造方法的newInstance方法创建对象,代码如下:
//默认空参构造器构造
Student student = Student.class.getConstructor().newInstance();
//指定构造器构造
Student student1=Student.class.getConstructor(int.class).newInstance(1);
4.序列化创建对象
在类上实现Serializable接口,当序列化时会将对象转化为字节流,反序列化则会将字节流再转换为java对象,这时jvm会创建一个单独的对象。
Student student = (Student) new ObjectInputStream(new
FileInputStream("file.txt")).readObject();