package com.winterbe.java8.samples.lambda;
/**
* @author Benjamin Winterberg
*/
public class Interface1 {
interface Formula {
double calculate(int a);
default double sqrt(int a) {
return Math.sqrt(positive(a));
}
static int positive(int a) {
return a > 0 ? a : 0;
}
}
public static void main(String[] args) {
Formula formula1 = new Formula() {
@Override
public double calculate(int a) {
return sqrt(a * 100);
}
};
formula1.calculate(100); // 100.0
formula1.sqrt(-23); // 0.0
Formula.positive(-4); // 0.0
// Formula formula2 = (a) -> sqrt( a * 100);
}
}