如何理解所有类的超类object类?equals方法、tostring方法在子类中如何使用?
时间: 2023-05-01 07:03:28 浏览: 107
超类Object类是所有类的公共祖先类,其中包含了一些常用的方法,如equals()方法和toString()方法。子类可以覆盖这些方法来实现自己特定的需求。equals()方法在比较两个对象是否相等时很有用,toString()方法则用于返回一个字符串描述该对象。在子类中可以直接调用这些方法来实现自己特定的需求。
相关问题
在Java中Object类中有哪些方法
在Java中,Object类是所有类的超类,它包含了一些方法,其中一些常用的方法包括:
1. equals(Object obj):比较两个对象是否相等。
2. hashCode():返回对象的哈希码值。
3. toString():将对象转换成字符串形式。
4. getClass():返回对象的运行时类。
5. notify():唤醒在此对象监视器上等待的单个线程。
6. notifyAll():唤醒在此对象监视器上等待的所有线程。
7. wait():在此对象上等待。
8. finalize():当对象被垃圾回收器回收时调用。
这些方法在Java中的所有类中都可以被使用,因为所有类都是Object类的子类。
设计Shape的子类,Rectangle(矩形),重写父类的toString和equals方法
下面是一个示例代码,实现了Shape的子类Rectangle的定义,重写了父类的toString和equals方法:
```java
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
@Override
public String toString() {
return "Rectangle [width=" + width + ", height=" + height + "]";
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Rectangle)) {
return false;
}
Rectangle other = (Rectangle)obj;
return width == other.width && height == other.height;
}
}
```
在这个例子中,Rectangle类继承了Shape类,并添加了width和height属性。重写了父类的getArea方法,计算矩形的面积。
同时,重写了父类的toString方法,返回一个字符串表示矩形的宽度和高度。重写了父类的equals方法,比较两个矩形是否相同,需要比较宽度和高度。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)