创建对象的几种方式

  1. 通过 new 关键字
    a. 调用类的有参或无参构造方法
  2. 通过 Class 类的 newInstance() 方法
    a. 调用类的无参构造方法
    b. 实际内部调用Constructor的newInstance()方法
    c. 通过反射来实现
  3. 通过 Constructor 类的 newInstance() 方法
    a. 指定某个构造器来创建对象
    b. 通过反射来实现
  4. 通过 Clone() 方法
    a. 类必须实现Cloneable接口
  5. 通过反序列化
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);
    }
}
上一篇:第十五集:self的详细了解


下一篇:DataTemplateSelector介绍