两个对象使用同一个方法的内存图
public static void main(String[] args) {
//根据Phone类创创建一个名为p的对象
//格式:类名称 对象名 = new 类名称();
Phone p = new Phone();
System.out.println(p.brand);//null
System.out.println(p.price);//0.0
System.out.println(p.color);//null
System.out.println("==========");
p.brand="华为";
p.price=9999.0;
p.color="黑色";
//华为
System.out.println(p.brand);
//9999.0
System.out.println(p.price);
//黑色
System.out.println(p.color);
System.out.println("============");
p.call("小明");
p.sendMe();
System.out.println("=========");
Phone p1 = new Phone();
System.out.println(p1.brand);//null
System.out.println(p1.price);//0.0
System.out.println(p1.color);//null
System.out.println("==========");
p1.brand="三星";
p1.price=5999.0;
p1.color="蓝色";
System.out.println(p1.brand);//华为
System.out.println(p1.price);//9999.0
System.out.println(p1.color);//黑色
System.out.println("============");
p1.call("张三");
p1.sendMe();
}
和第一种一样你是你我是我从新调用了一遍

两个引用指向同一个对象的内存图
//根据Phone类创创建一个名为p的对象
//格式:类名称 对象名 = new 类名称();
Phone p = new Phone();
System.out.println(p.brand);//null
System.out.println(p.price);//0.0
System.out.println(p.color);//null
System.out.println("==========");
p.brand="华为";
p.price=9999.0;
p.color="黑色";
System.out.println(p.brand);//华为
System.out.println(p.price);//9999.0
System.out.println(p.color);//黑色
System.out.println("============");
p.call("小明");
p.sendMe();
System.out.println("=========");
//将p中的地址值赋值给two
Phone p1 = p;
System.out.println(p1.brand);//华为
System.out.println(p1.price);//9999.0
System.out.println(p1.color);//黑色
System.out.println("==========");
p1.brand="三星";
p1.price=5999.0;
p1.color="蓝色";
System.out.println(p1.brand);//三星
System.out.println(p1.price);//5999.0
System.out.println(p1.color);//蓝色
System.out.println("============");
p1.call("张三");
p1.sendMe();

搜索
复制
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/270726.html