Abstract class vs Interface
09:56
Reading
Add Comment
| Abstract class | Interface |
|---|---|
| 1) Abstract class can have abstract and non-abstract methods. | Interface can have only abstract methods. |
| 2) Abstract class doesn't support inheritance. | Interface supports multiple inheritance. |
| 3) Abstract class can have final, non-final, static and non-static variables. | Interface has only static and final variables. |
| 4) Abstract class can have static methods, main method and constructor. | Interface can't have static methods, main method or constructor. |
| 5) Abstract class can provide the implementation of interface. | Interface can't provide the implementation of abstract class. |
| 6) The abstract keyword is used to declare abstract class. | The interface keyword is used to declare interface. |
| 7) Example: public abstract class Shape{ public abstract void draw(); } | Example: public interface Drawable{ void draw(); } |
Use:
We use abstract class when there exists natural relationship e.g boss and employ
and
We use interface when the relationship is not natural e.g boss implement texible interface
0 comments:
Post a Comment