急需,java是不是每一个类都有 to string() 和equals方法吗,如果有是从哪边继承过来的? 求解答考试要用

2024-12-13 21:27:40
推荐回答(5个)
回答1:

java中每个类都要这两个方法。java中的每个类都是object类的子类或间接子类。
你最好是有个API,不懂得是话可以查看API。
equals
public boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。
equals 方法在非空对象引用上实现相等关系:

自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。
对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。
一致性:对于任何非空引用值 x 和 y,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。
对于任何非空引用值 x,x.equals(null) 都应返回 false。
Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。

注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。

参数:
obj - 要与之比较的引用对象。
返回:
如果此对象与 obj 参数相同,则返回 true;否则返回 false。
另请参见:
hashCode(), Hashtable

toString
public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())

返回:
该对象的字符串表示形式。

回答2:

可以肯定的说是。每个JAVA类隐含的包含了toString()和equals()方法,这两个方法是从Object类中继承而来的,Object类是所有类的父类。你可以在自己写的类里重写这两个方法实现自己需要的功能。

PS: 楼上你速度挺快啊,哪里找的。

回答3:

应该说是,Object类是基类,没有父类,Object类里就有to string() 和equals方法,而其他类都是直接或者间接从Object类继承过来的,所以都有to string() 和equals方法。

回答4:

Object继承的

回答5:

All java class extend Object class. toString and equals is the method of Object class