Inspectopedia Help

Inheritance issues

Abstract class extends concrete class   New in this release

Reports abstract classes that extend concrete classes.

Abstract class which has no concrete subclass   New in this release

Reports abstract classes that have no concrete subclasses.

Abstract class without 'abstract' methods   New in this release

Reports abstract classes that have no abstract methods.

Abstract method overrides abstract method   New in this release

Reports abstract methods that override abstract methods.

Abstract method overrides concrete method   New in this release

Reports abstract methods that override concrete super methods.

Abstract method with missing implementations   New in this release

Reports abstract methods that are not implemented in every concrete subclass.

Class explicitly extends a 'Collection' class   New in this release

Reports classes that extend concrete subclasses of the java.util.Collection or java.util.Map classes.

Class extends annotation interface   New in this release

Reports classes declared as an implementation or extension of an annotation interface.

Class extends utility class   New in this release

Reports classes that extend a utility class.

Class may extend a commonly used base class   New in this release

Reports classes or interfaces that can be replaced with an implementation or extension of a more specific commonly used class or interface.

Final declaration can't be overridden at runtime   New in this release

Reports cases when your code prevents a class from being subclassed by some framework (for example, Spring or Hibernate) at runtime.

Interface which has no concrete subclass   New in this release

Reports interfaces that have no concrete subclasses.

Method does not call super method   New in this release

Reports methods that override a super method without calling it.

Method is identical to its super method   New in this release

Reports methods that are identical to their super methods.

Missing '@Override' annotation   New in this release

Reports methods overriding superclass methods but are not annotated with @java.lang.Override.

Non-varargs method overrides varargs method   New in this release

Reports methods that override a variable arity (a.k.a.

Parameter type prevents overriding   New in this release

Reports parameter types of a subclass method that have the same name as the parameter type of the corresponding super method but belong to a different package.

Public constructor in abstract class   New in this release

Reports public constructors of abstract classes.

Redundant interface declaration   New in this release

Reports interfaces in a class' implements list or an interface's extends list that are already implemented by a superclass or extended by a superinterface.

Static inheritance   New in this release

Reports interfaces that are implemented only to provide access to constants.

Type parameter extends 'final' class   New in this release

Reports type parameters declared to extend a final class.

Last modified: 11 September 2024