java创建对象的四种方式

1,使用 new 关键字:通过使用 new 关键字和构造函数来创建对象:
MyClass obj = new MyClass();
  • 在Main类的main方法中,我们使用new关键字来实例化一个MyClass对象,并调用其构造函数MyClass(10)来初始化对象。
  • 然后,我们调用创建的对象的display方法来验证对象已成功创建。
2,使用 Class 类的 newInstance 方法:通过调用类的 newInstance 方法来创建对象:
MyClass obj = (MyClass) Class.forName("com.example.MyClass").newInstance();
  • 定义了一个名为MyClass的类,其中包含了一个名为myMethod的方法。
  • 在Main类的main方法中,我们使用了Class.forName("MyClass")来获取MyClass类的Class对象。Class.forName()方法用于根据类名获取对应的Class对象。
  • 然后,我们调用Class对象的newInstance()方法来创建MyClass类的对象。这个方法会调用MyClass类的默认构造函数来实例化对象。
  • 最后,我们调用创建的对象的myMethod()方法,以验证对象已成功创建。
3,使用 clone 方法:通过调用对象的 clone 方法来创建对象的副本:
MyClass obj1 = new MyClass();

MyClass obj2 = obj1.clone();
  • 定义了一个名为MyClass的类,其中包含了一个私有成员变量value,以及构造函数和一些方法。
  • MyClass类实现了Cloneable接口,这是一个标记接口,用于指示该类的实例可以被克隆。
  • 在MyClass类中,重写了clone方法,并调用了super.clone()来创建对象的副本。需要注意的是,clone方法返回的是Object类型,因此需要进行类型转换。
  • 在Main类的main方法中,首先创建了一个MyClass对象obj1,并设置其值为10。
  • 然后,通过调用obj1.clone()来创建obj1的副本obj2。需要注意的是,clone方法会抛出CloneNotSupportedException异常,因此需要进行异常处理。
  • 最后,我们输出了obj2的值,以验证对象的副本已成功创建。

4,使用反射机制:通过使用Java的反射机制来动态创建对象:
Class<?> clazz = Class.forName("com.example.MyClass");

MyClass obj = (MyClass) clazz.getDeclaredConstructor().newInstance();
  • 使用Class.forName("MyClass")来获取MyClass类的Class对象。
  • 使用getConstructor(int.class)来获取MyClass类中带有一个int参数的构造函数。
  • 使用constructor.newInstance(10)来调用构造函数创建MyClass对象,并传递参数10。
  • 最后,我们调用创建的对象的display方法来验证对象已成功创建。
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值