Java中方法引用和构造函数引用的区别?
方法引用类似于lambda表达式,用于在不调用该方法的情况下引用该方法,而构造函数引用用于在不实例化命名类的情况下引用该构造函数。方法引用需要类似于lambda表达式的目标类型。但是,它们没有提供方法的实现,而是引用现有类或对象的方法,而构造函数引用为类内的不同构造函数提供了不同的名称。
语法-方法引用
<Class-Name>::<instanceMethodName>
示例
import java.util.*;
public class MethodReferenceTest {
public static void main(String[] args) {
List<String> names = new ArrayList<String>();
List<String> selectedNames = new ArrayList<String>();
names.add("Adithya");
names.add("Jai");
names.add("Raja");
names.forEach(selectedNames :: add); //实例方法引用
System.out.println("Selected Names:");
selectedNames.forEach(System.out :: println);
}
}输出结果
Selected Names:Adithya Jai Raja
语法-构造函数引用
<Class-Name>::new
示例
@FunctionalInterfaceinterface MyInterface {
public Student get(String str);
}
class Student {
private String str;
public Student(String str) {
this.str = str;
System.out.println("学生的名字是: " + str);
}
}
public class ConstrutorReferenceTest {
public static void main(String[] args) {
MyInterface constructorRef = Student :: new; //构造函数引用
constructorRef.get("Adithya");
}
}输出结果
学生的名字是: Adithya
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志