package com.interfaces;
public class PrinterDemo {
public static void main(String[] args) {
usePrinter((String s)->{
System.out.println(s.toUpperCase());
});
usePrinter(s-> System.out.println(s.toUpperCase()));
PrintString ps = new PrintString();
usePrinter(ps::printUpper);
//Lambda表达式被对象实例方法替代的时候,他的形式参数全部传递给该方法作为参数
}
private static void usePrinter(Printer p){
p.printUpperCase("HelloWord");
}
}
package com.interfaces;
public interface Printer {
void printUpperCase(String s);
}
package com.interfaces;
import java.util.Locale;
public class PrintString {
public void printUpper(String s){
String s1 = s.toUpperCase();
System.out.println(s1);
}
}