package com.xjt;
/**
* Created by asus on 2015/3/31.
*/
//新建一个Dog的类,在这个类中建一个叫name的属性;
public class Dog {
public String name;
}
package com.xjt;
public class Main {
public static void main(String[] args) throws Exception {
Dog d = new Dog();新建一个Dog d,他的名字叫“wangcai”,计算机所需要的事情是:先建一个杯子d,因为Dog 不属于八种基本类型(boolen,byte,short,char,int,long,float,double),所以 new Dog 不能直接放到这个杯子里,所以 new Dog 是放在堆里,杯子d里面就像有一个遥控器,有一根线指向堆里的new Dog,而new Dog 指向同样在堆里的 name --- wamgcai 上.
d.name = "wangcai";
Dog d2;//在新建一个Dog d2,计算机就新建了一个叫d2的杯子;
d2 = d;//这句话意思是把 d 赋值给d2,计算机做的事情就是按照d杯子中的那个遥控器新建一个一模一样的遥控器(功能作用相同),这个遥控器同样指向那个 new Dog ;
d2.name = "dahuang";//此时,新建的这个d2的名字叫“dahuang”
System.out.println(d2.name);在打印d2的名字的时候,就是d2杯子里的遥控器指向new Dog ,而new Dog指向“dahuang”
}
}
dahuang//打印结果