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

Working with methods receiving interfaces as arguments


In the previous chapter, we created the following five interfaces: DrawableInComic, DrawableInGame, Hideable, Powerable, and Fightable. Then, we created the following classes that implemented different interfaces, and, many of them, also inherited from superclasses: SpiderDog, WonderCat, HideableWonderCat, PowerableWonderCat, and FightableWonderCat.

Run the following command in JShell to check all the types we have created:

/types

The following screenshot shows the results of executing the previous command in JShell. JShell enumerates the five interfaces and the five classes we have created in the session.

When we work with interfaces, we use them to specify the argument types instead of using class names. Multiple classes might implement a single interface, and therefore, instances of different classes might qualify as an argument of a specific interface.

Now we will create additional instances of the previously mentioned classes and we...