var newPerson:Person = new Person("Nate", 32);
var person_1:Person = new Person("Nate", 32);
var person_2:Person = new Person("Jane", 28);
trace(person_1.showInfo());
//out.print:我的名字是:Nate,我的年龄是:32岁
trace(person_2.showInfo());
//out.print:我的名字是:Jane,我的年龄是:28岁
trace(newPerson.showInfo());
//out.print:我的名字是:Nate,我的年龄是:32岁
var preson_0 = newPerson;
newPerson.age = 26;
newPerson.name = "rerd";
trace(newPerson.showInfo());
//out.print:我的名字是:rerd,我的年龄是:26岁
trace(preson_0.showInfo());
//out.print:我的名字是:rerd,我的年龄是:26岁
trace(preson_0.age);
//out.print:26
trace(preson_0.name);
//out.print:rerd
//***从上可以看出复制一个对象,只是将新的对象指向内存的一个地址
//
delete newPerson;
trace(newPerson.showInfo());
//out.print:undefined
trace(preson_0.showInfo());
//out.print:我的名字是:rerd,我的年龄是:26岁
//***虽然将第一个对象删除了,但是因为仍有对象指向该内存地址,所以内存仍然没有释放
trace(preson_0.age);
trace(preson_0.name);
所以说delete 不是一定能将内存释放出来
本文地址:http://com.8s8s.com/it/it24412.htm