java创建对象的几种方式

企服百科·2021年11月11日 14:35
Java创建对象的5种核心方式:1、使用new关键字;2、使用Class类的newInstance()方法;3、使用构造方法类的newInstance()方法;4、使用clone()方法;5、使用反序列化。

java创建对象的几种方式

企服解答

Java创建对象的5种核心方式:1、使用new关键字;2、使用Class类的newInstance()方法;3、使用构造方法类的newInstance()方法;4、使用clone()方法;5、使用反序列化。

1、使用new关键字

new关键字是创建对象的最常见和常规的方法,也是一种非常简单的方法。通过使用此方法,我们可以调用要调用的任何构造函数(无参数的构造函数和参数化的)。

Employee emp1 = new Employee();

2、使用Class类的newInstance()方法

我们还可以使用Class类的newInstance()方法创建一个对象。

Employee emp2 = Employee.class.newInstance();

3、使用构造方法类的newInstance()方法

与Class类的newInstance()方法类似,java.lang.reflect.Constructor类中有一个newInstance()方法可用于创建对象。我们还可以使用此newInstance()方法来调用参数化构造函数和私有构造函数。

Constructor<Employee> constructor = Employee.class.getConstructor();

Employee emp3 = constructor.newInstance();

这两种newInstance()方法都被称为创建对象的反射方式。实际上,Class类的newInstance()方法在内部使用了Constructor类的newInstance()方法。这就是为什么最好使用后一种方法,并且也将其用于诸如Spring,Hibernate,Struts等不同框架的原因。要了解这两种newInstance()方法之间的区别,请阅读使用Example在Java中通过Reflection创建对象。

4、使用clone()方法

每当我们在任何对象上调用clone()时,JVM实际上都会为我们创建一个新对象,并将先前对象的所有内容复制到其中。使用clone方法创建对象不会调用任何构造函数。

要在对象上使用clone()方法,我们需要实现Cloneable并在其中定义clone()方法。

Employee emp4 = (Employee) emp3.clone();

Java克隆是Java社区中最值得探讨的话题,它的确有其缺点,但是在对象完全满足Java克隆的强制条件之前,它仍然是创建任何对象的副本的最流行和最简单的方法。

5、使用反序列化

每当我们序列化然后反序列化一个对象时, JVM就会为我们创建一个单独的对象。在反序列化中,JVM不使用任何构造函数来创建对象。要反序列化对象,我们需要在类中实现Serializable接口。

ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj")); Employee emp5 = (Employee) in.readObject();

相关信息

  • 周鸿祎:当程序员比当老板更幸福

2021年10月24日是程序员节。360集团创始人、董事长周鸿祎谈到互联网大佬谁编程排第一,并表示尽管可能有人认为当老板比较有钱,但自己还是会怀念作为程序员做出成功产品的幸福感。

  • 国产智能安全芯片操作系统麟铠问世

2021年1月25日,紫光同芯与支付产品提供商金邦达联合发布安全芯片操作系统:麟铠。这也是双方继推出国内首款应用于EMV一芯双应用信用卡的中国芯之后合作的再次升级。业内人士也指出,麟铠系统的核心意义在于原来国内银行卡绝多数用的都是ORACLE的JAVA系统,有了这个今后可以逐步摆脱。

扩展阅读

程序员用AI来写AI代码,“卷死”其他程序员?

复制粘贴发明人、Java 和互联网创建者相继去世,向初代互联网大佬致敬

漫谈你未必知道的WebRTC:前世、今生、未来

+1
0

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000
新锐作者

企服行业的“百科词典”

提及的项目

查看项目库

下一篇

总土储近3115万平方米,其中约61.8%位于粤港澳大湾区。佳兆业又为收购市场提供了一批标的。

2021-11-11

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业