Abstract class |
Interface |
Have abstract & non-abstract methods | Only abstract methods |
Not support multiple inheritance | Supports multiple inheritance |
Can have final/non-final/statis/non-static variables | Only final & static variables |
Can have:
· static methods · main method · constructor |
Cannot have
|
Can provide implementation of interface | Cannot provide implementation of abstract class |
When we want to add new methods | When we want to have multiple inheritance |
We extend it | We implement it |