review03

class XiyoujiRenwu{
float height;
float weight;
String head;
String ear;
void speak(String s)
{
System.out.println(s);
}
}

public class Test02 {

public static void main(String[] args) {
// TODO Auto-generated method stub
XiyoujiRenwu zhubajie;//声明
zhubajie = new XiyoujiRenwu();//创建对象
}

}

在声明对象后,zhubajie的内存中是没有任何数据的,称这时的zhubajie是一个空对象,不能使用的。

语句zhubajie = new XiyoujiRenwu();会做两件事

为(1)四个成员变量分配内存,如int默认为0,float默认为0.0,boolean默认为false。

(2)new运算符为成员变量分配内存并返回一个引用给对象变量zhubajie,表示zhubajie来管理这些成员变量。

所谓为对象分配内存就是指为它分配变量,并获得一个引用,以确保这些变量由对象来“操作管理”。

分配给对象的变量被习惯地称为对象的实体。

没有实体的对象是空对象,是不能被使用的,否则会出现空指针异常。

如果两个对象具有相同的引用,二者则具有完全相同的变量。

java中有所谓的“垃圾收集”机制,这种机制周期地检测某个实体是否已不再被任何对象所引用,如果有这样的实体,就释放实体所具有的内存。

如果希望java虚拟机立刻进行“垃圾收集”操作,可以让System类调用gc()方法。

原文地址:https://www.cnblogs.com/liaoxiaolao/p/9249366.html