java聲明一個接口Shape2D用來實作二維幾何形狀類Circle和Rectangle。10
匿名網友2015.05.20浏覽371次分享舉報
1、聲明一個接口Shape2D用來實作二維幾何形狀類Circle和Rectangle。要把計算面積和周長的方法聲明在接口裡,同時聲明常量PI。然後聲明Circle類和Rectangle類分别計算圓面積和矩形面積,實作Shape2D。
2、在main()方法中用定義兩個Shape2D類型的引用,一個指向Circle的對象,另一個指向Rectangle的對象,再用這兩個引用去調用Circle對象和Rectangle對象的求周長和面積的方法。
public interface Shape2D {
double PI=3.14;
public abstract double area();
public abstract double perimeter();
}
public class Circle implements Shape2D{
double r;
public Circle(double r)//構造方法
{
this.r = r;
}
public double area() {
return PI*r*r;
}
public double perimeter() {
return 2*PI*r;
}
}
public class Rectangle implements Shape2D {
protected double length, width;
public Rectangle(double length, double width)
{
this.length = length;
this.width = width;
}
public double area()
{
return this.width * this.length;
}
public double perimeter()
{
return (this.width+this.length)*2;
}
}
public class Test {
public static void main(String[] args) {
Shape2D yuan = new Circle(1);
Shape2D ju = new Rectangle(4, 5);
yuan.area();
yuan.perimeter();
ju.area();
ju.perimeter();
}
}
哪裡有問題?