Java使用冒号进行对象分配?

Java使用冒号进行对象分配?,java,syntax,drools,Java,Syntax,Drools,我正在学习Java和Drools,以便编辑现有的代码库,我遇到了一些语法,我相信这只是分配一个变量/对象,但我不确定,在我错误地应用和依赖它之前,我希望有一些清晰和洞察力 RULE "Rule1" WHEN result : Result() policy : Policy() THEN logger.info("Running Rule1"); retract(result); END 这是我不确

我正在学习Java和Drools,以便编辑现有的代码库,我遇到了一些语法,我相信这只是分配一个变量/对象,但我不确定,在我错误地应用和依赖它之前,我希望有一些清晰和洞察力

RULE "Rule1"

    WHEN
        result : Result()   
        policy : Policy()   

    THEN
        logger.info("Running Rule1");
        retract(result);
END
这是我不确定的“xxx:xxx()”位。。 我尝试搜索,但最终得到的是静态声明等

它与“xxx=new xxx();”或“xxx:xxx();”相同吗


我以前的编码经验是使用PHP和C#,谢谢。

模式元素是最重要的条件元素。它可以潜在地匹配插入到工作内存中的每个事实

模式包含零个或多个约束,并具有可选的模式绑定

[patternBinding]模式类型[constraints]

在最简单的形式中,没有约束,模式与给定类型的事实相匹配。在以下情况下,类型为Person,这意味着模式将与工作内存中的所有Person对象匹配:

Person()
要引用匹配的对象,请使用模式绑定变量,如$p。(“$”不是强制性的,只是一种约定。)

属性可以绑定到变量:

Person( $firstAge : age ) // binding

请注意,“绑定”不是“赋值”;“绑定变量”不是C#或PHP中所说的“变量”。

这是一个基本主题,在您试图理解任何代码之前,您需要在Drools手册中进行说明。此外,在接触代码库中的任何内容之前,理解(至少)基本Java是必不可少的。-不,无论是变量绑定(
xxx:…
)还是模式(
…Xyz()
)都不是“静态声明”。我很感激有一种“正确的方法”可以做到这一点,但我现在的处境是,我必须在没有任何知识转移的情况下完成这项工作,而且我面临时间限制。我对构建和运行环境有足够的了解,但我需要帮助的只是一些语言细微差别,因为向后工作不像向前工作那么简单。静态声明注释是因为当我搜索它时,我得到了关于双冒号或三元的响应。我是在寻求帮助,不是演讲谢谢你想让我复制粘贴手册上的文字吗?在你的建议下,我试着自己浏览一下手册,看看你在讲什么,但我运气不好。如果你能这么好,我将非常感激。
Person( $firstAge : age ) // binding