慕瓜2589535
2016-12-19 21:43
看视频看的蒙蔽了,哪个是比较地址,哪个是比较值?还有equals重写后又是比较什么
Dog dog = new Dog 就是一次对象的引用 没重写之前equals比较对象的引用是否指向同一块内存
已经知道了 谢谢大家
这个问题要看回Object类,( 所有java 对象的父类 , 里面自带了equals 方法, 就是用的 ==, 比较连个对象的地址), 没有明确写出继承关系的,都是默认继承了Object , 没重写equals 就用了Object 的equals(==)。
重写后要根据写的具体内容来看。eg:Student(id ,name), 每个学生只有唯一一个id , 所以他的equals方法可以只比较他的id,id 相同就可以认为是同一个学生了
equals在没重写前和==一样是比较地址的 重写之后就是比较值了
(注:==可以判断两个基本数据类型的数据值是否相同 如果判断的是两个引用的值是否相同 比较的就是内存地址了)
Java入门第二季 升级版
530653 学习 · 6091 问题
相似问题