2013-01-15 4 views
6

Właśnie zaktualizowałem jedną z moich aplikacji Grails do wersji 2.2.0, która używa Groovy 2.0 i teraz otrzymuję tę kompilację błąd:Mieszanie prywatnych i publicznych/chronionych metod o tej samej nazwie powoduje, że multimethods jest wyłączony i zabrania się unikania zaskakujących zachowań.

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.

podstawie następującego kodu:

def getRootDomain(key) { } 

private getRootDomain() { } 

To łatwo naprawić, ale naprawdę chciałbym zrozumieć, dlaczego lepiej. Czy ktoś może mi to wyjaśnić?

Odpowiedz