Méthodes statiques à l'intérieur de l'interface
interface DemoStatic { static void outputInfo () { System.out.println("this is demo 'static' "); } }
Méthode Defaule dans l'interface
interface DemoDefault{ default void fun() { System.out.println("this is demo 'default'"); } }
Utilisation
class DemoClass implements DemoDefault {
}
public class DemoInterface {
public static void main(String[] args) {
//1 static
DemoStatic.outputInfo();
//2 default
DemoDefault demoClass = new DemoClass();
demoClass.fun();
}
}
Résultat d'exécution
this is demo 'static'
this is demo 'default'
lambda
*interface
interface IDemoLambda {
void print();
}
Fonction de rappel
private static void func1(IDemoLambda1 iDemoLambda) { iDemoLambda.print(); }
Fonction de rappel
public class DemoLambda {
public static void main(String[] args) {
// Réalisation de classe interne func(new IDemoLambda() {
@Override
public void print() {
System.out.println("before java 1.8 innerclass");
}
});
// Réalisation de Lambda func1(() -> { System.out.println("after java 1.8 lambda"); }); } }
lambda (a, b) -> a + b // formule
interface IDemoLambda3 { int add (int a , int b); }
func3((a,b)->a+b);
private static void func3(IDemoLambda3 iDemoLambda3) { System.out.println(iDemoLambda3.add(20, 30)); }
Recommended Posts