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

Taking advantage of default methods in interfaces in Java 9


Both the SpiderDog and WonderCat classes implement the DrawableInComic interface. All the classes that inherit from the WonderCat class, inherit the implementation of the DrawableInComic interface. Imagine that we have to add a new method requirement to the DrawableInComic interface and that we will create new classes that implement this new version of the interface. We will add a new drawScreamBalloon method that draws a scream balloon, also known as scream bubble, with a message.

We will add the implementation of the new method in the SpiderDog class. However, imagine that we cannot make changes to the code in one of the classes that implement the DrawableInComic interface: WonderCat. We have a big problem because as soon as we change the code for the DrawableInComic interface, the Java compiler will generate a compile error for the WonderCat class and we won't be able to compile this class and its subclasses.

In this scenario,...