创建对象的几种方式

这篇博客详细介绍了在Java中创建对象的五种不同方法:使用new关键字、通过Class的newInstance()方法、利用Constructor的newInstance()方法、通过Clone()方法以及反序列化。示例代码展示了每种方法的实现,帮助读者理解各种创建对象的机制。
摘要由CSDN通过智能技术生成
  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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值