Book Image

Java 9 with JShell

By : Gaston C. Hillar
Book Image

Java 9 with JShell

By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (23 chapters)
Java 9 with JShell
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Combining setters, getters, and fields


Sometimes, we want to have more control over the values that are set to related fields and retrieved from them, and we can take advantage of getters and setters to do so. We can combine a getter, a setter, a related field that stores a computed value, and the access protection mechanisms to prevent the user from making changes to the related field. This way, we will force the user to always use the getters and setters.

Virtual creatures love any kind of hat. The hat for a virtual creature can change over time. We have to make sure that the hat's name is in capital letters, that is, an uppercased String. We will define a setHat method that always generates an uppercased String from the received String and stores it in a private hat field.

We will provide a getHat method to retrieve the value stored in the private hat field. The following lines show a new version of the VirtualCreature class that adds a hat private instance field and the getHat and setHat...