java中用new定义对象有几种写法?
1个回答
展开全部
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>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询