In this chapter, you have learned the foundational concepts of Java and of any object-oriented programming language. You now have an understanding of classes and objects as the basic building blocks of Java, know what static and instance members are, and know about interface, implementation, and inheritance. That was the most complex and challenging exercise of this beginner chapter, and brought the reader to the core of Java language, introducing the language framework we are going to use throughout the rest of the book. The exercise allowed the reader to get exposure to the discussion about the differences between an interface and an abstract class, which has become much narrower after Java 8's release.
In the next chapter, we will turn to practical matters of programming. The reader will be guided through the concrete steps of installing the necessary tools and...