我是 Java 新手,开始研究构造函数。我看到了几个将构造函数作为参数传递给方法的示例。请告诉我当构造函数作为参数传递给方法时会发生什么。
根据您为什么需要传递构造函数的目的,您可以考虑改为传递供应商的实例(JavaDoc - https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier。 html)。例如,您有一个方法,它假设创建一个帐户并填写其中的所有内容。您可以使此方法接受供应商作为参数:
public Account createNewAccount(Supplier<Account> accountConstructor) {
var account = accountConstructor.get();
account.fillEverything();
return account;
}
Run Code Online (Sandbox Code Playgroud)
然后使用 lambda 将构造函数传递给此方法:
createNewAccount(() -> new UserAccount());
Run Code Online (Sandbox Code Playgroud)
或使用方法参考:
createNewAccount(UserAccount::new);
Run Code Online (Sandbox Code Playgroud)
两种变体都在工作。
归档时间: |
|
查看次数: |
5529 次 |
最近记录: |