Chapter 5. Introduction to Object-Oriented Design in Java
In this chapter, we’ll look at how to work with Java’s objects,
covering the key methods of Object, aspects of object-oriented design,
and implementing exception handling schemes. Throughout the chapter, we
will be introducing some design patterns—essentially best practices
for solving some very common situations that arise in software design.
Toward the end of the chapter, we’ll also consider the design of safe
programs—those that are designed so as not to become inconsistent over
time. We’ll get started by considering the subject of Java’s calling and
passing conventions and the nature of Java values.
Java Values
Java’s values, and their relationship to the type system, are quite straightforward. Java has two types of values—primitives and object references.
Note
There are only eight different primitive types in Java and new primitive types cannot be defined by the programmer.
The key difference between primitive values and references is that
primitive values cannot be altered; the value 2 is always the same value.
By contrast, the contents of object references can usually be
changed—often referred to as mutation of object contents.
Also note that variables can only contain values of the appropriate type. In particular, variables of reference type always contain a reference to the memory location holding the object—they do not contain the object contents directly. This means that in Java there is no equivalent of a ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access