Now that i understood the concept abstract method can someone help me in understanding when and why is there a use for abstract method. Secondly i would like to know if there is a possibility of using an abstract static class in java so that even though instantiation is not allowed, is there a chance of accessing the methods and instance variables from another class ?
You would use an abstract class as the basis for other more specific subclasses. For instance, you might abstract the Vehicle class with subclasses Tricycle, Bicycle, Car
You can specify the common elements that all the types will have ( color, numberOfWheels, etc) , the things they must be able to do ( start , stop, accelerate, decelerate, etc). The abstract class will NOT specify *how* the subclasses will implement them. A tricycle will have a different number of wheels than a car and it will perform all the behaviors (methods) differently.