gpt4 book ai didi

grails - 混契约(Contract)名的私有(private)和公共(public)/ protected 方法会导致多方法被禁用,并且被禁止以避免出现意外行为

转载 作者:行者123 更新时间:2023-12-04 07:40:30 24 4
gpt4 key购买 nike

我刚刚将我的一个 Grails 应用程序升级到使用 Groovy 2.0 的 2.2.0,现在我得到了这个编译错误:

Mixing private and public/protected methods of the same name causes multimethods to be disabled and is forbidden to avoid surprising behaviour. Renaming the private methods will solve the problem.



基于以下代码:
def getRootDomain(key) { }

private getRootDomain() { }

这是一个简单的解决方法,但我真的很想更好地理解为什么。谁可以给我解释一下这个?

最佳答案

这是因为 groovy 选择调用哪个方法的方式,以及它与 java 的潜在不兼容。

你在邮件列表上看到过这个帖子吗?

http://groovy.329449.n5.nabble.com/mixing-public-private-overloaded-methods-causes-compilation-error-td367147.html

关于grails - 混契约(Contract)名的私有(private)和公共(public)/ protected 方法会导致多方法被禁用,并且被禁止以避免出现意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14339022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com