平时喜欢使用这个注解, 因为链式的set 主要是因为方便美观.
今天在开发中因为父类新增了一个@Accessor(chain=true) 但是子类没有使用, 导致原本可以编译通过的老代码 现在编译错误, 提示“子类 不能覆盖 父类的 *** 字段”.
查了一下 原因是: 编译之后的set方法 默认为 返回set了字段值之后的对象, 而不是通常@setter对应的 void方法.
建议 在合适的场景使用@Accessor(chain=true).
见图:
感兴趣的可以看下这个博文: https://www.debugger.wiki/article/html/1573112792320496