In this chapter, you learned about one of the fundamental features of an object-oriented language – the rules of accessibility of classes, interfaces, their members, and constructors. You now can import classes and interfaces from other packages and avoid using their fully qualified names. All that discussion allowed us to introduce the central concept of OOP—encapsulation. With that, we can start an informed discussion of object-oriented design (OOD) principles.
The next chapter presents a higher-level view of Java programming. It discusses the criteria of a good design and provides a guide to the well-proven OOD principles. Each of the design principles is described in detail and illustrated using a corresponding code example.