用和接口有关的匿名类实现圆&矩形面积的求取

一共需要四个类,一个是A接口类,Circle 和 Rectangle 类,以及主Test

interface A{
    public double getArea();
    public double getPerimeter();
    public double showArea();
    public double showPerimeter();
}
public class Circle{
    public void fun(A a){
        a.getArea();
        a.getPerimeter();
        a.showArea();
        a.showPerimeter();
    }
}
public class Rectangle {
    public void fun(A a){
        a.getArea();
        a.getPerimeter();
        a.showArea();
        a.showPerimeter();
    }
}
public class Test{
    public static void main(String[] args){
        Rectangle rectangle=new Rectangle();
        Circle circle=new Circle();
        circle.fun(new A(){
            double s,p;//面积,周长
            double r=3;//半径
            public double  getArea(){
                s=3.14*r*r;
                return s;
            }
            public double  getPerimeter(){
                p=2*3.14*r;
                return p;
            }
            public double  showArea(){
                System.out.println("圆的面积为:"+s);
                return 0;
            }
            public double  showPerimeter(){
                System.out.println("圆的周长为:"+p);
                return 0;
            }
        });
        rectangle.fun(new A(){
            double s,p;//面积,周长
            double l=5,w=3;//长,宽
            public double  getArea(){
                s=l*w;
                return s;
            }
            public double  getPerimeter(){
                p=2*(l+w);
                return p;
            }
            public double  showArea(){
                System.out.println("矩形的面积为:"+s);
                return 0;
            }
            public double  showPerimeter(){
                System.out.println("矩形的周长为:"+p);
                return 0;
            }
        });
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值