Question: what is difference between default method and abstract class?
Answer: These two are quite different: Default methods are to add external functionality to existing classes without changing their state. And abstract classes are a normal type of inheritance, they are normal classes which are intended to be extended.