课程
/后端开发
/Java
/Java入门第二季 升级版
为什么我的size的属性值不同而使用equals时,输出的结果是“两个对象相同”呢?
2017-08-28
源自:Java入门第二季 升级版 9-9
正在回答
那当然也不同了,虽然Iphone1类和Iphone2类的属性相同,值也相同,但父类Iphone1下有一个隐式的equals方法,比较的是对象的引用,而Iphone2类中你重写了equals方法,比较的是对象的类型,这两个equals方法的类型、名称虽然相同,但方法内的代码不同,所以无论属性如何,对象iphone和对象iphone2的类型都是不同的。所以,要在保证对象方法完全一样的前提下,去比较属性名和属性值是否相同。
zxj2333 提问者
不能在类中赋值,要再实例化对象后用 iphone.size=6 赋值
慕粉3631469
zxj2333 提问者 回复 慕粉3631469
慕粉3631469 回复 zxj2333 提问者
Iphone1.java保存了吗
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
3 回答使用equals出现的问题
2 回答equals的使用
2 回答重写equals使用intanceof
1 回答equals方法的使用
1 回答equals问题