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

Creating class hierarchies to abstract and specialize behavior


In the previous chapters, we have been creating classes in Java 9 to generate blueprints for real-life objects. We declared classes and then we created instances of these classes in JShell. Now it is time to take advantage of many of the most advanced features of object-oriented programming included in Java 9 and start designing a hierarchy of classes instead of working with isolated classes. First, we will design all the classes that we need based on the requirements, and then we will use the features available in Java 9 to code the designed classes.

We worked with classes to represent virtual creatures. Now, let's imagine that we have to develop a complex Web Service that requires us to work with dozens of types of virtual animal. Many of these virtual animals will be similar to pets and domestic animals in the first stage of the project. The requirements specify that our Web Service will start working with the following four...