题目:现有Shape图形类,用Rectangle 矩形和Circle圆形子类,求图形的周长和面积。
shape抽象类
package com.company; public abstract class Shape{ public abstract double perimeter(); public abstract double area(); }
Rectangle类
package com.company; public class Rectangle extends Shape{ private double length; private double width; public Rectangle(double length, double width){ this.length = length; this.width = width; } public double perimeter(){ return (length + width) * 2; } public double area(){ return length * width; } }
Circle类
package com.company; public class Circle extends Shape{ private final double PI = 3.1415926; private double radius; public Circle(double radius){ this.radius = radius; } public double perimeter(){ return 2 * PI * radius; } public double area(){ return PI * radius * radius; } }
测试类
package com.company; public class Main { public static void main(String[] args) { Shape rec = new Rectangle(2, 3); Shape cir = new Circle(4); System.out.println("矩形的周长:"+rec.perimeter() ); System.out.println("矩形的面积:"+rec.area()); System.out.println("圆形的周长:"+cir.perimeter() ); System.out.println("圆形的面积:"+cir.area()); } }