//接口
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();
}
}