java中用new定义对象有几种写法?

java中用new定义对象有3种写法。
1.使用new关键字
通过这种方式,我们可以调用任意的构造函数(无参的和带参数的)。
<span style="color: #ff0000;">Employee emp1 = new Employee();</span>   
0: new           #19          // class org/programming/mitra/exercises/Employee: dup: invokespecial #21          // Method org/programming/mitra/exercises/Employee."":()V
2.使用Class类的newInstance方法
我们也可以使用Class类的newInstance方法创建对象。这个newInstance方法调用无参的构造函数创建对象。
我们可以通过下面方式调用newInstance方法创建对象:
<span style="color: #ff0000;">Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee").newInstance();</span>
3.使用反序列化
当我们序列化和反序列化一个对象,jvm会给我们创建一个单独的对象。在反序列化时,jvm创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口 。
<span style="color: #ff0000;">ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));Employee emp5 = (Employee) in.readObject();</span>

文章标签:

本文链接:https://www.u1e.cn/baike/a/8454679c411fb492f9fd2de7 [复制]

猜你喜欢

歇后语大全

还没有人回应过