通过 new 关键字 a. 调用类的有参或无参构造方法通过 Class 类的 newInstance() 方法 a. 调用类的无参构造方法 b. 实际内部调用Constructor的newInstance()方法 c. 通过反射来实现通过 Constructor 类的 newInstance() 方法 a. 指定某个构造器来创建对象 b. 通过反射来实现通过 Clone() 方法 a. 类必须实现Cloneable接口通过反序列化 public class Person implements Cloneable { private int age; private String name; public Person() { } public Person(String name, int page) { this.name = name; this.age = page; } public static void main(String[] args) throws Exception { // 方法1:通过new关键字 Person p1 = new Person(); // 方法2:通过Class类的newInstance()方法 Person p2 = (Person) Class.forName("Person").newInstance(); // 方法3:通过Constructor类的newInstance()方法 Person p3 = (Person) Person.class.getConstructors()[0].newInstance(); // 方法4:通过Clone()方法 Person p4 = (Person) p3.clone(); // 方法5:反序列化 TODO System.out.println(p1); System.out.println(p2); System.out.println(p3); System.out.println(p4); } }