用JAVA定义两个类,父类A代表几何形状,子类B类代表圆形状;在B类中重写toString方法,输出圆的半径
时间: 2024-03-10 17:43:13 浏览: 23
好的,以下是用JAVA定义父类A和子类B的代码:
```java
// 父类A代表几何形状
public class A {
// 父类A的属性和方法
// ...
}
// 子类B代表圆形状
public class B extends A {
private double radius; // 圆的半径
// 子类B的构造方法
public B(double radius) {
this.radius = radius;
}
// 重写toString方法,输出圆的半径
@Override
public String toString() {
return "圆的半径为:" + radius;
}
}
```
在子类B中,我们定义了一个私有属性 `radius` 表示圆的半径,并且在构造方法中初始化。然后,我们重写了父类A的 `toString()` 方法,在子类B中输出圆的半径。当我们调用子类B的 `toString()` 方法时,就可以得到圆的半径了。
相关问题
定义两个类,父类GeometricObject代表几何形状,子类Circle代表圆形写一个测试类,创建两个Circle对象,判断其颜色是否相等;利用equals方法判断其半径是否相等;利用toString()方法输出其半径。
下面是代码实现:
```java
class GeometricObject {
protected String color;
public GeometricObject(String color) {
this.color = color;
}
public String getColor() {
return color;
}
}
class Circle extends GeometricObject {
private double radius;
public Circle(double radius, String color) {
super(color);
this.radius = radius;
}
public double getRadius() {
return radius;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Circle) {
Circle circle = (Circle) obj;
return radius == circle.radius;
}
return false;
}
@Override
public String toString() {
return "半径为" + radius;
}
}
public class Test {
public static void main(String[] args) {
Circle circle1 = new Circle(1.0, "红色");
Circle circle2 = new Circle(2.0, "蓝色");
if (circle1.getColor().equals(circle2.getColor())) {
System.out.println("两个圆形的颜色相同");
} else {
System.out.println("两个圆形的颜色不同");
}
if (circle1.equals(circle2)) {
System.out.println("两个圆形的半径相等");
} else {
System.out.println("两个圆形的半径不等");
}
System.out.println("圆形1的" + circle1.toString());
System.out.println("圆形2的" + circle2.toString());
}
}
```
输出结果:
```
两个圆形的颜色不同
两个圆形的半径不等
圆形1的半径为1.0
圆形2的半径为2.0
```
已知项目定义以下两个类,父类geomeObject代表几何形状,子类Circle代表圆形,请编写一个测试类,创建两个Circle 对象,利用equals方法判断半径是否相等,利用toString ()方法输出其半径(若相等则输出一个半径,不相等则输出两个半径)
```java
class GeomeObject {
// 代表几何形状
}
class Circle extends GeomeObject {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Circle circle = (Circle) obj;
return Double.compare(circle.radius, radius) == 0;
}
@Override
public String toString() {
return "Circle{" +
"radius=" + radius +
'}';
}
}
public class TestCircle {
public static void main(String[] args) {
Circle circle1 = new Circle(5);
Circle circle2 = new Circle(7);
if (circle1.equals(circle2)) {
System.out.println("半径为:" + circle1.getRadius());
} else {
System.out.println("半径分别为:" + circle1.getRadius() + "," + circle2.getRadius());
}
System.out.println(circle1.toString()); // Circle{radius=5.0}
System.out.println(circle2.toString()); // Circle{radius=7.0}
}
}
```