In this chapter, you learned about the declaration and combination of multiple blueprints to generate a single instance. We declared interfaces that specified the required methods. Then, we created many classes that implemented single and multiple interfaces.
We combined class inheritance with the implementation of interfaces. We realized that a single class can implement multiple interfaces. We executed code in JShell to understand that a single instance belongs to class types and to interface types.
Now that you have learned about interfaces and the basics for contract programming, we are ready to work with advanced contract programming scenarios, which is the topic we are going to discuss in the next chapter.