zxj2333
2017-08-28 19:43
为什么我的size的属性值不同而使用equals时,输出的结果是“两个对象相同”呢?
那当然也不同了,虽然Iphone1类和Iphone2类的属性相同,值也相同,但父类Iphone1下有一个隐式的equals方法,比较的是对象的引用,而Iphone2类中你重写了equals方法,比较的是对象的类型,这两个equals方法的类型、名称虽然相同,但方法内的代码不同,所以无论属性如何,对象iphone和对象iphone2的类型都是不同的。所以,要在保证对象方法完全一样的前提下,去比较属性名和属性值是否相同。
不能在类中赋值,要再实例化对象后用 iphone.size=6 赋值
Iphone1.java保存了吗
Java入门第二季 升级版
530650 学习 · 6091 问题
相似问题