package com.sf._01_泛型.demo1;

public class Calculator<T extends Number> {
    private T baseNum;

    public Calculator(T baseNum) {
        this.baseNum = baseNum;
    }

    public T getBaseNum() {
        return baseNum;
    }

    /**
     * 传入类型可以是 Integer 1  Double 1.1  Float 2
     * 返回值类型 double
     * Integer num=1 baseNum=1   返回 2.0
     * Double  num=1.1  baseNum=1.1 返回值2.2
     * flot    num=1.2  baseNum=1.2 返回2.2
     *
     *
     * 传入类型Integer Double  Float
     * 返回值类型也是Integer  double  float
     *
     */
    public double add(T num){
        return num.doubleValue() + baseNum.doubleValue();
    }

    public  <E extends Number> double multiply(E num){
        return num.doubleValue() * baseNum.doubleValue();
    }
}
