程序运行内存分析
public class Doll{
String name;
public void Doll(String name){
this.name=name;
}
public static void main(String[] args) {
Doll doll1= new Doll("贝贝");
Doll doll2= new Doll("晶晶");
Doll doll3=doll1;
System.out.println(doll1.name);
System.out.println(doll2.name);
System.out.println(doll3.name);
}
}
以上程序的运行结果为:晶晶 晶晶 晶晶。
public class Doll {
static String name;
public void printDoll(){
System.out.println(name);
}
public static void main(String[] args) {
Doll doll1= new Doll();
doll1.name = "贝贝";
Doll doll2= new Doll();
doll2.name = "晶晶";
Doll doll3=doll1;
doll1.printDoll();
doll2.printDoll();
doll3.printDoll();
}
}
该程序运行结果为:贝贝 晶晶 贝贝。
程序运行的内存分析过程如下:
其中Doll doll3 = doll1;的演示过程如下: