
resources.report.rules.pmd.AbstractClassWithoutAnyMethod.html Maven / Gradle / Ivy
AbstractClassWithoutAnyMethod
AbstractClassWithoutAnyMethod
If the abstract class does not provides any methods, it may be just a data container that is not to be instantiated. In this case, it's probably
better to use a private or a protected constructor in order to prevent instantiation than make the class misleadingly abstract.
This rule is defined by the following XPath expression:
//ClassOrInterfaceDeclaration[
(@Abstract = 'true')
and
(count(//MethodDeclaration) + count(//ConstructorDeclaration) = 0)
]
Example:
public class abstract Example {
String field;
int otherField;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy