GeometricObject 父类
package www.exer5;
public class GeometricObject {
protected String color;
protected double weight;
public GeometricObject(){
this.color = "white";
this.weight = 1.0;
}
public GeometricObject(String color, double weight) {
this.color = color;
this.weight = weight;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
Circle 子类
package www.exer5;
public class Circle extends GeometricObject{
private double radius;
public Circle() {
super();
radius = 1.0;
}
public Circle(double radius) {
this.radius = radius;
}
public Circle(double radius,String color,double weight) {
super(color,weight);
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double findArea(){
return 3.14*radius*radius;
}
public boolean equals(Object obj){
if (this == obj){
return true;
}
if (obj instanceof Circle){
Circle circle = (Circle) obj;
return this.radius == circle.radius;
}
return false;
}
@Override
public String toString() {
return "Circle{" +
"radius=" + radius +
'}';
}
}
CircleTest 测试类
package www.exer5;
public class CircleTest {
public static void main(String[] args) {
Circle c1 = new Circle(2.3);
Circle c2 = new Circle(2.3, "white", 2.0);
System.out.println("颜色是否相同: "+ c1.getColor().equals(c2.getColor()));
System.out.println("半径是否相同: "+ c1.equals(c2));
System.out.println(c1.toString());
}
}