只要new,无论new里面的参数是否一致,都会在堆里面申请新的内存区域。而且,==比较的是内寸地址,因为s1跟s2的内存地址不一样,所以最后结果输出:false
为什么字符串里面的equals比较的是数据?
因为字符串是系统的一个类,系统把equals这个方法重写了,让这个equals去比较数据。
重写代码:
public boolea equals(Student s){
if(this.age==s.age&&this.name.equals(s.name)){
return true;}
else{
return false;
}}
-----this.age指的是当前对象;s.age指的是要比较的对象