A class with no abstract methods that was made abstract purely to prevent instantiation should be converted to a concrete class (i.e. remove the ``++abstract++`` keyword) with a private constructor.
A class with only abstract methods and no inheritable behavior should be converted to an interface.
=== Noncompliant code example
[source,text]
----
public abstract class Animal { // Noncompliant; should be an interface
abstract void move();
abstract void feed();
}
public abstract class Color { // Noncompliant; should be concrete with a private constructor