27 lines
733 B
Java
27 lines
733 B
Java
class Task {
|
|
void executeTask() {
|
|
System.out.println("Task is being executed");
|
|
}
|
|
}
|
|
|
|
class NonNumericTypeException extends Exception {
|
|
NonNumericTypeException(String msg) {
|
|
super(msg);
|
|
}
|
|
}
|
|
|
|
class SumTask<T extends Number> extends Task {
|
|
synchronized T sum(T a, T b) throws NonNumericTypeException {
|
|
if (a == null || b == null) throw new NonNumericTypeException("Non-numeric type");
|
|
return (T) Double.valueOf(a.doubleValue() + b.doubleValue());
|
|
}
|
|
}
|
|
|
|
public class Main {
|
|
public static void main(String[] args) throws NonNumericTypeException {
|
|
SumTask<Double> task = new SumTask<>();
|
|
task.executeTask();
|
|
System.out.println(task.sum(3.0, 4.0));
|
|
}
|
|
}
|