class Person{
int age;String name;
}
public class MyDemo{
public static void main(String []args){
//实例化对象a和b
Person a=new Person();
a.age=10;a.name="小明";
//实例化对象b
Person b=new Person();
b=a;
System.out.println(“b.age="+b.age);
a.age=20;
System.out.println("b.age="+b.age);
}
}结果显示:
b.age=10;
b.age=20;
我有个疑问,实例化a和b两个对象,不是在内存中给a和b都分配了内存空间了吗?b=a的意思不就是让对象b的值和a相等吗,那后面修改a.age的值,为什么b.age的值也改变了呢?我感觉应该从对象的角度去分析,但还是不明白,希望大神好好说说
int age;String name;
}
public class MyDemo{
public static void main(String []args){
//实例化对象a和b
Person a=new Person();
a.age=10;a.name="小明";
//实例化对象b
Person b=new Person();
b=a;
System.out.println(“b.age="+b.age);
a.age=20;
System.out.println("b.age="+b.age);
}
}结果显示:
b.age=10;
b.age=20;
我有个疑问,实例化a和b两个对象,不是在内存中给a和b都分配了内存空间了吗?b=a的意思不就是让对象b的值和a相等吗,那后面修改a.age的值,为什么b.age的值也改变了呢?我感觉应该从对象的角度去分析,但还是不明白,希望大神好好说说
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货