1产图形(Shape )和它的实现类∶长方形(Rectangle ) 、正方形(Square )、和圆形(Circle ) .
要求:
1、每种图开形者都―能求它的周长。
2、定义一个方法shapeLength可以接受任意类型的图形对象,在方法内部调用图形周长方法。4、在测试类中调用shapeLength ()求长方形、正方形、圆形的周长。
5、定义匿名内部类作为参数传递给shapeLength()方法,计算多边形周长/
package test;
interface Shape
{
public void Length(double x,double y);
final double num=0;
}
class Rectangle implements Shape
{
double perimeter;
public void Length(double x,double y){
perimeter=2*(x+y);
System.out.println("长方形的周长是"+perimeter+"");
}
}
class Square implements Shape
{
double perimeter;
public void Length(double x,double num){
perimeter=4*x;
System.out.println("正方形的周长是"+perimeter+"");
}
}
class Circle implements Shape
{
double perimeter;
public void Length(double x,double num){
perimeter=2*x*Math.PI;
System.out.println("圆的周长是"+perimeter+"");
}
}
class Test
{
public static void main(String[] args)
{
Rectangle R=new Rectangle();
Square S=new Square();
Circle C=new Circle();
C.Length(2,0);
R.Length(2,3);
S.Length(4,0);
shapeLength(new Shape() {
double perimeter;
public void Length(double x,double n){
perimeter=n*x;
System.out.println("多边形的周长是"+perimeter+"");
}
},0,0);
}
public static void shapeLength(Shape an,int x,int n){
an.Length(3, 9);
}
}