Question: what is the difference between abstract class and inheritance in java?
Answer: Abstract classes are used to be inherited only. But when you inherited from a non abstract class you can create instance from both of derived and base classes. So we can say abstract classes are used to generate new types,to be inherited not to create instance !