Statische Methoden innerhalb der Schnittstelle
interface DemoStatic { static void outputInfo () { System.out.println("this is demo 'static' "); } }
Standardmethode innerhalb der Schnittstelle
interface DemoDefault{ default void fun() { System.out.println("this is demo 'default'"); } }
Verwenden
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();
}
}
Ausführungsergebnis
this is demo 'static'
this is demo 'default'
lambda
*Schnittstelle
interface IDemoLambda {
void print();
}
Rückruffunktion
private static void func1(IDemoLambda1 iDemoLambda) { iDemoLambda.print(); }
Rückruffunktion
public class DemoLambda {
public static void main(String[] args) {
// Verwirklichung der inneren Klasse func(new IDemoLambda() {
@Override
public void print() {
System.out.println("before java 1.8 innerclass");
}
});
// Realisierung von Lambda func1(() -> { System.out.println("after java 1.8 lambda"); }); } }
Lambda (a, b) -> a + b // Formel
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