Abstract class vs Interface


Abstract classInterface
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

My Instagram