Java里面的实例对象new了是什么意思?

Python029

Java里面的实例对象new了是什么意思?,第1张

new中文意思是:新的

在JAVA里表示新建实例或者是新建对象

一个普通类在没有实例化之前,就是new之前,它的属性、方法等等,在内存中都是不存在的。只有new了以后也就是新建对象之后,这个类的一些东西在内存中才会真的存在,也就是说只有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>