11问答网
所有问题
Java中为什么有些接口会定义equals()?既然所有的类都会从object继承这个方法。难道这
Java中为什么有些接口会定义equals()?既然所有的类都会从object继承这个方法。难道这是为以后不是继承object的类做准备么?
举报该问题
推荐答案 2013-12-08
不是的~
这是重写啊,override,指的是你想改变超类中这个方法的行为;
Object类中的equals方法默认是比较对象地址的,但有些情况下你希望定义自己的比较方法,可能是基于值做比较的;比如类User有两个属性,name和age,你可能希望两个User对象的name和age相同时就是相等的,这时候就要重新写自己的equals()方法,如果使用Object的equals()方法就不行了~
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/F87Fvv7S4F4F2F4SF7q.html
其他回答
第1个回答 2018-10-21
首先,在Java中所有的类都是直接或间接的继承Object类,就算你自己创建一个类,没有指向父类,jvm也会自动将这个类继承Object,如果extends了一个父类,这个父类也会往上自动继承或者间接继承Object类,所以Java中所有的类都可以使用Object中的方法,有些接口会重新定义equals是为了重写equals方法,以扩展或增强这个方法的功能,从而实现一些功能
第2个回答 2013-12-08
1楼正解,不同类需要比较的东西不同。默认是比较指针地址的。
第3个回答 2013-12-08
有些排序要重写equals
相似回答
Java
语言
中为什么
每个
类都有equals()
和toString()
方法?
答:
1.每个类(除了
Object)
都默认
继承Object
,而Object拥有
equals
和toString方法 2.equals用于判定两个对象是否为同一对象,程序员得根据自己的需要重写
这个方法
来达到对象比较的目的 3.toString方法用于输出对象的概要信息,很多方法和构造方法在调用这些对象时,都需要向用户输出概要信息(如Swing中的列表JList)...
大家正在搜
java怎么在接口中定义方法
java接口声明有什么和什么
java定义一个接口类
Java抽象类和接口的定义
java接口定义方法
java定义接口的关键字是
java里的接口是什么
Java接口是什么意思
java接口定义
相关问题
java equals(object obj){},为什么e...
java的object定义的那几种方法,既然用的时候都须要重...
java可以用接口代替所有继承吗?既然接口这么厉害,就去掉
接口 到底有没有继承 Object 类
C# !object.Equals是什么意思
为什么实现java中的comparator接口不用重写其中的...
Java语言中Object类定义了哪11种方法?
Java语言中为什么每个类都有equals()和toStri...