1.现有接口Person
public interface Person {
void run(String a,int b);
}
2.测试类
public class TestClass {
public static void main(String[] args) {
Person person = TestClass::printValur;
person.run("nn",2);
}
private static void printValur(String s, int i) {
System.out.println(s);
}
private static void printValur() {
System.out.println("nihao");
}
public static void printValur(String str){
System.out.println("print value : "+str);
}
}
可以看作是接口的一个对象!!看作调用run方法就是调用对应的::右边的方法。注意返回值类型和参数列表类型要一一对应。(以上所说仅仅为了便于理解,具体的实现需要后续完善。)
关于第三种ContainingType::MethodName 有这种String::equals