Code is Here:
Best Java Book :
In this part of the Java Video Tutorial I cover interfaces, abstract classes, abstract methods and more.
You need interfaces and abstract classes because Java doesn’t allow you to inherit from more than one other class. You would use an interface when you want to force the user of the interface to create every method in the interface.
You use an abstract method when you need some flexibility.