用JAVA定义两个类,父类A代表几何形状,子类B类代表圆形状;在B类中重写equals方法,比较两个圆的半径是否相等,如相等,返回true
时间: 2024-03-09 13:48:35 浏览: 69
好的,以下是Java代码实现:
```java
class A {
// 父类A代表几何形状
// 这里可以定义几何形状的公共属性和方法
}
class B extends A {
// 子类B代表圆形状
private double radius; // 圆的半径
// 构造函数
public B(double radius) {
this.radius = radius;
}
// 重写equals方法,比较两个圆的半径是否相等
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof B)) {
return false;
}
B other = (B) obj;
return Double.compare(this.radius, other.radius) == 0;
}
}
```
在上面的代码中,父类A代表几何形状,这里我们没有写任何属性和方法,可以根据实际需求添加。子类B代表圆形状,这里定义了一个私有的属性 `radius` 表示圆的半径,在构造函数中初始化。重写了 `equals` 方法,比较两个圆的半径是否相等,相等则返回 `true`,否则返回 `false`。需要注意的是,重写 `equals` 方法时还需要重写 `hashCode` 方法,以保证相等的对象具有相同的哈希码,这里为了简化代码,省略了 `hashCode` 方法的实现。
阅读全文