文档网

java对象的生命周期、

第11章 对象的生命周期

在Java虚拟机管辖的运行时数据区,最活跃的就是位于堆区的生生息息的对象。在Java虚拟机的生命周期中,一个个对象被陆续地创建,又一个个被销毁。在对象生命周期的开始阶段,需要为对象分配内存,并且初始化它的实例变量。当程序不再使用某个对象时,它就会结束生命周期,它的内存可以被Java虚拟机的垃圾回收器回收。

11.1 创建对象的方式

在Java程序中,对象可以被显式地或者隐含地创建。创建一个对象就是指构造一个类的实例,前提条件是这个类已经被初始化,第10章(类的生命周期)已经对此做了详细介绍。

有4种显式地创建对象的方式:

用new语句创建对象,这是最常用的创建对象的方式。

运用反射手段,调用http://www.wendangwang.comng.Class或者http://www.wendangwang.comng.reflect.Constructor类的

newInstance()实例方法。

调用对象的clone()方法。

运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法,

参见第16章的16.12节(对象的序列化与反序列化)。

例程11-1(Customer.java)演示了用前面3种方式创建对象的过程。

例程11-1 Customer.java public class Customer implements Cloneable{

private String name;

private int age;

public Customer(){

this("unknown",0);

System.out.println("call default constructor");

}

public Customer(String name,int age){

http://www.wendangwang.com=name;

this.age=age;

System.out.println("call second constructor");

}

public Object clone()throws CloneNotSupportedException{return super.clone();}

public boolean equals(Object o){

if(this==o)return true;

if(! (o instanceof Customer)) return false;

相关文档
热门文档
你可能喜欢
评论