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()方法。