Creating mutable classes in Java 9
When we declare instance fields without the final
keyword, we create a mutable instance field, which means that we can change their values for each new instance we create after the field is initialized. When we create an instance of a class that defines at least one mutable field, we create a mutable object, which is an object that can change its state after its initialization.
Note
A mutable object is also known as a mutating object.
For example, imagine that we have to develop a Web Service that renders elements in the 3D world and returns a high-resolution rendered scene. Such a task requires us to work with 3D vectors. First, we will work with a mutable 3D vector with three mutable fields: x
, y
, and z
. The mutable 3D vector must provide the following features:
Three mutable instance fields of type
double
:x
,y
, andz
.A constructor that creates an instance by providing the initial values for the
x
,y
, andz
fields.A constructor that creates an instance with...