Pure abstract classes can only be used with abstract methods (no fields, no concrete methods).
Change Note: starting with adding default methods in Java 8, interfaces are no longer necessarily 100% abstract.
In the real world, fieldless abstract classes (avoiding a hierarchical state) are probably more common than pure abstract classes.
source share