接口
//接口
public interface Converter { int printInt (String s); }
//测试类
public class ConveterDemo { public static void main(String[] args) { useConverter(s -> Integer.parseInt(s));//555 useConverter(Integer::parseInt);//555 } private static void useConverter(Converter c){ int number = c.printInt("555"); System.out.println(number); }
//接口 public interface Printer { void printUpperCase(String s); } //执行类 public class PrintString { public void printUpper(String s) { String s1 = s.toUpperCase(); System.out.println(s1); } } //测试类 public class PrintStringDemo { public static void main(String[] args) { usePrinter(s -> System.out.println(s.toUpperCase())); PrintString printString = new PrintString(); usePrinter(printString::printUpper); } private static void usePrinter(Printer p){ p.printUpperCase("HelloWorld"); } }
//接口 public interface MyString { String mySubString(String s, int x, int y); } //测试类 public class MyStringDemo { public static void main(String[] args) { useMyString((s, x, y) -> s.substring(x,y)); useMyString(String::substring); } private static void useMyString(MyString ms){ String s = ms.mySubString("HelloWorld", 3, 6); System.out.println(s); } }
//接口 public interface StudentBuilder { Student build(String s,int age); } //学生类 public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } //测试类 public class StudentBuilderDemo { public static void main(String[] args) { useStudentBuilder((String name,int age)->{ return new Student(name,age); }); useStudentBuilder(Student::new); } private static void useStudentBuilder(StudentBuilder sb) { Student s = sb.build("王冰冰", 25); System.out.println(s.getName() + "," + s.getAge()); } }
public class RunnableDemo { public static void main(String[] args) { startThread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName()+"线程启动了"); } }); startThread(()->System.out.println(Thread.currentThread().getName()+"线程启动了")); } private static void startThread(Runnable r){ new Thread(r).start(); } }