Function 如何在处理过程中传递函数作为类的输入

Function 如何在处理过程中传递函数作为类的输入,function,processing,Function,Processing,我正在制作一个用于在处理过程中生成分形的框架,但是,我需要使用函数作为类构造函数的参数。 比如: 类分形{ 字符串名; 无效初始化; 分形(字符串名称、无效设置){ ... } } 我猜你来自JavaScript背景 传统上,Java并没有真正做到这一点的方法。相反,您要传递一个接口的匿名实例,如下所示: 接口运行程序{ 公开无效运行(); } 类分形{ 字符串名; 转轮初始化; 分形(字符串名称、运行程序设置){ ... } } 流道r=新流道(){ 公开募捐{ //随便 } } 分形=新的分

我正在制作一个用于在处理过程中生成分形的框架,但是,我需要使用函数作为类构造函数的参数。 比如:

类分形{
字符串名;
无效初始化;
分形(字符串名称、无效设置){
...
}
}

我猜你来自JavaScript背景

传统上,Java并没有真正做到这一点的方法。相反,您要传递一个接口的匿名实例,如下所示:

接口运行程序{
公开无效运行();
}
类分形{
字符串名;
转轮初始化;
分形(字符串名称、运行程序设置){
...
}
}
流道r=新流道(){
公开募捐{
//随便
}
}
分形=新的分形(“此处命名”,r);
请注意,Java提供了一个
Runnable
接口,您可以使用它来代替创建自己的接口,但我想在这里详细说明一下,让它更加明显

从Java8开始,您可以将对函数的引用作为参数传递。这称为lambda函数。谷歌搜索“JavaLambda函数”将返回大量结果

发件人:

公共作废通行证(){
运行(()->System.out.println(“helloworld”);
}
公共无效运行(可运行函数){
函数run();
}

根据您使用处理的方式,您可能会被第一种方法卡住,因为我认为处理编辑器还不支持Java 8。

谢谢,它工作得非常好。关于我的javascript,你是对的。