

package com.atguigu.exercise5;public class GeometricObject {//几何形状 //属性 protected String color; protected double weight; //构造器 protected GeometricObject(){ 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; }}
package com.atguigu.exercise5;public class Circle extends GeometricObject {// 圆形 // 属性 private double radius; // 构造器 public Circle() { super(); radius = 1.0; // color = "white"; // weight = 1.0; // super()中已经包含了这两个属性 } 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 Math.PI * radius * radius; } //比较两个圆的半径是否相等,如果相等,返回true @Override public boolean equals(Object obj) { if(this == obj){ return true; } if(obj instanceof Circle){ Circle c = (Circle)obj; return this.radius == c.radius; } return false; } //输出圆的半径 @Override public String toString() { return "Circle [radius =" + radius + "]"; }}
package com.atguigu.exercise5;public class CircleTest { public static void main(String[] args) { Circle circle1 = new Circle(2.3); Circle circle2 = new Circle(2.3, "white", 2.0); //判断颜色是否相同 System.out.println("颜色是否相同:"+ circle1.getColor().equals(circle2.getColor())); //判断半径是否相同 System.out.println("半径是否相同:"+ circle1.equals(circle2)); System.out.println(circle1); System.out.println(circle2.toString()); }}