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