11

a. 定义一个接口Compute,用来完成计算器的功能,比如最简单的加减乘除功能
interface Compute {
double compute(double a, double b)
}

b. 定义一个ShowCompute类,里面定义一个工具方法compute(Compute com,double a, double b)
该方法可以执行,两个double类型数据的加减乘除
(也就是需要定义不同的Compute接口的子类,实现具体的加减乘除功能,当执行该方法时,
传递不同的子类对象,就可以完成不同的计算)

编写一个测试类,

通过调用ShowCompute类的compute(Compute com,double a, double b)
方法来完成加减乘除功能

package D11;

interface Compute {
    double compute(double a, double b);
}

class ShowCompute {
    /*
         定义工具方法,事项,对两个操作数a和b的计算(加减乘除)
         至于,具体对a和b执行哪种计算,有方法接收的,具体的Compute接口子类对象决定
     */
    public static double calculate(Compute com,double a, double b) {
        return com.compute(a, b);
    }
}
public class Q1 {
    public static void main(String[] args) {

        double a = 10;
        double b = 2.5;

        //所有的计算结果,都是通过ShowCompute类的calculate方法完成的
        // 不同的Compute匿名内部类对象,决定了不同的计算方式(比如,加减乘除)

        // 执行加法  创建了执行加法操作的Compute接口匿名内部类对象
        double add = ShowCompute.calculate(new Compute() {
            @Override
            public double compute(double a, double b) {
                return a + b;
            }
        }, a, b);
        System.out.println(add);

        // 执行减法  创建了执行减法操作的Compute接口匿名内部类对象
        double minus = ShowCompute.calculate(new Compute() {
            @Override
            public double compute(double a, double b) {
                return a - b;
            }
        }, a, b);
        System.out.println(minus);

        // 执行乘法  创建了执行乘法操作的Compute接口匿名内部类对象
        double multi = ShowCompute.calculate(new Compute() {
            @Override
            public double compute(double a, double b) {
                return a * b;
            }
        }, a, b);
        System.out.println(multi);

        // 执行除法  创建了执行除法操作的Compute接口匿名内部类对象
        double divide = ShowCompute.calculate(new Compute() {
            @Override
            public double compute(double a, double b) {
                return a / b;
            }
        }, a, b);
        System.out.println(divide);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值