Problem
1. What is an interface in Java and why would you, as a software developer, use interfaces?
2. What is the difference between an abstract class and an interface?
3. Why abstraction is an important concept in software development and what role do interfaces play in abstraction?
4. What must a class do in order to implement an interface?
5. What is an abstract method?
6. Can you instantiate an interface?
7. Can you declare a constructor inside an interface? If not, why?
8. Can we override an interface method with visibility that is not public?