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

Transforming values with setters and getters


We can define a setter method that transforms a received value to a valid value for a related field. The getter method would just need to return the value of the related field. The user will only be able to work with the setter and getter methods and our related field will always have a valid value. This way, we can make sure that whenever we require the value, we will retrieve a valid value.

Each virtual creature has a visibility level that determines how easy it is for anybody to visualize the virtual creature's body. We will add a private visibilityLevel field, a setVisibility method, and a getVisibility method. We will change the constructor code to call the setVisiblity method to set an initial value for the visibilityLevel field.

We want to make sure that the visibility level is a number from 0 to 100 (inclusive). Thus, we will code the setter method to transform the values lower than 0 to 0 and values higher than 100 to 100. The setVisibility...