public interface GInter<N1,N2> {
abstract N1 add(N1 date1, N1 date2);
N1 sub(N1 date1, N2 date2);
N2 mul(N2 date1,N2 date2);
}
public class Calc implements GInter<Double, Integer>{
@Override
public Double add(Double date1, Double date2) {
return date1 + date2;
}
@Override
public Double sub(Double date1, Integer date2) {
return date1 - date2;
}
@Override
public Integer mul(Integer date1, Integer date2) {
return date1 * date2;
}
public static void main(String[] args) {
Calc c = new Calc();
System.out.printf("%.2f\n",c.add(2.2, 12.9));
System.out.printf("%.2f\n",c.sub(2.2, 12));
System.out.printf("%d\n",c.mul(2, 12));
}
}