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

Summary


In this chapter, you learned the differences between mutable and immutable classes and the mutating and non-mutating instances that they generate. We declared mutable and immutable versions of a 3D vector class in Java 9.

Then, we took advantage of JShell to easily work with the mutating and non-mutating instances of these classes and we analyzed the difference between changing the state of an object and returning a new object whenever we have to change its state. We analyzed the advantages and disadvantages of mutable and immutable classes and we understood why the latter are useful when working with concurrent code.

Now that you have learned about mutable and immutable classes, you are ready to work with inheritance, abstraction, extension, and specialization, which are the topics we are going to discuss in the next chapter.