Abstract Classes | Interfaces |
Can have concrete methods | Can have only abstract methods |
Can have variables | Can have only static final (constant) data members |
Can have private and protected members | All members are public by default |
Can be extended from one class | Can be extended from any number of interfaces |
A class can extend only one abstract class | A class can implement any number of interfaces |