Abstract class is not used in real applications, only in the training materials.
Interface is a bigger and more expressive version of the abstract class.
Interface cannot have non-static data while abstract class can.