我正在使用Checkstyle,并且收到有关此方法的错误:
public final String getAdmitCodeStatus() {
    return admitCodeStatus;
}
这是我得到的错误:
方法'getAdmitCodeStatus'不是为扩展而设计的 - 需要是abstract,final或empty.
该方法如何不符合要求?有什么我做错了,Checkstyle会对我这个方法咆哮吗?
Sne*_*kse 31
它看起来是由DesignForExtension规则引起的.根据文件:
检查类是否设计用于扩展.更具体地说,它强制执行一种编程风格,其中超类提供可由子类实现的空"钩子".
确切的规则是可以被子类化的非私有非静态类方法必须是
Run Code Online (Sandbox Code Playgroud)abstract or final or have an empty implementation基本原理:这种API设计风格可以保护超类不被子类破坏.缺点是子类的灵活性受到限制,特别是它们无法阻止超类中代码的执行,但这也意味着子类不能通过忘记调用super方法来破坏超类的状态.
资料来源:http://sonar.15.n6.nabble.com/design-for-extension-rule-tp3200037p3200043.html
但由于你的方法有一个final修饰符,我会说你发现了一个错误,可能想记录错误报告.
https://github.com/checkstyle/checkstyle/issues
| 归档时间: | 
 | 
| 查看次数: | 21227 次 | 
| 最近记录: |