对象与references这两者之间到底是什么关系啊? 最近书上总是提到 不懂啊
public class aaa {
int c=1;
public static void main(String[] args) {
aaa a1=new aaa();
aaa a2=new aaa();
System.out.println(a1 == a2);
System.out.println(a1 != a2);
}
}
以上这种程序的输出结果却是 false true;难以理解
public class aaa {
int c=1;
public static void main(String[] args) {
aaa a1=new aaa();
aaa a2=new aaa();
System.out.println(a1 == a2);
System.out.println(a1 != a2);
}
}
以上这种程序的输出结果却是 false true;难以理解
第二个new aaa()又在内存堆中分配了一个空间!a1 a2分别是在栈中分配了2个类型为aaa 变量名 ,a1 a2分别指向不同对象```a1 a2 保存地址不同所以答案就是
false true记住:只要new 出来就会分配一个空间
a是new A()的引用
new A()在内存中分配了空间,也就是定义了个对象
如理解有误,请下楼指正
Object = 房子
纸上写着房子的地址。想用房子,必须先找到纸上写的地址。当然,纸上可以擦掉前一个地址,写另一个房子的地址。
后果:前一个房子就再也找不到了,因为没有纸记录他的地址,然后被老天给拆除了!
== 和 != 是判断两个引用变量之间是否引用的是同一对象! equals() 对比的是他们的值是否相等!!