定义两个类,父类GeometricObject代表几何形状,子类Circle代表圆形
GeometricObject
protected String color
protected doule weight
protected GeometricObject()初始化对象的color属性为"white",weight属性为1.0
protected GeometricObject(String color,double weight)
属性的getter和setter方法
Circle
private double radius
public Circle()初始化对象的color属性为"white",weight属性为1.0,radius属性为1.0
public Circle(double radius)初始化对象的color属性为"white",weight属性为1.0,radius根据参数构造器确定
public Circle(double radius,String color,double weight)
radius属性的setter和getter方法
public double findArea():计算圆的面积
public boolean equals(Circle c)重写equals方法,比较两个圆的半径是否相等,如相等返回true
public String toString()重写toString方法,输出圆的半径
写一个测试类,创建两个Circle对象,判断其颜色是否相等,利用equals方法判断半径是否相等,利用toString()方法输出其半径
package test2;
public class TestGeometricObject {
public static void main(String[] args) {
Circle r1 = new Circle(2.3);
Circle r2 = new Circle(2.3);
System.out.println(r1.equals(r2));
System.out.println(r1.toString());
}
}
class GeometricObject{
protected String color;
protected double weight;
protected GeometricObject() {
super();
this.color="white";
this.weight=1.0;
}
protected 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;
}
}
class Circle extends GeometricObject{
private double radius;
public Circle() {
super();
this.radius=1.0;
}
public Circle(double radius) {
super();
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(Circle c) {
if(this==c) {
return true;
}else if(c instanceof Circle) {
Circle r=(Circle)c;
return this.radius==r.radius;
}else {
return false;
}
}
public String toString() {
// return radius+"";
return String.valueOf(radius);
}
}
测试结果: