在Groovy中有一個@
運算符,它允許直接字段訪問。然而,它看起來不適用於在超類中聲明的字段。考慮兩個的Java(不Groovy的)類:Groovy中用於超類的字段訪問
class Entity {
private Long id;
Long getId() {
return id;
}
}
class User extends Entity {
}
然後調用在Groovy中直接訪問
User user = new User();
[email protected] = 1L
與異常結束:groovy.lang.MissingFieldException: No such field: id for class User
當我嘗試使用標準訪問user.id = 1L
我得到groovy.lang.ReadOnlyPropertyException: Cannot set readonly property: id for class User
是否有任何選項可以配置在超類中聲明ss字段?
你可以不用'@'來訪問它,爲什麼你需要直接訪問? – Opal
我沒有編號爲 –
你有,因爲它是爲你生成的。 – JBaruch