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

Declaring interfaces


It is time to code the necessary interfaces in Java 9. We will code the following five interfaces:

  • DrawableInComic

  • DrawableInGame

  • Hideable

  • Powerable

  • Fightable

Note

Some programming languages, such as C#, use I as a prefix for interfaces. Java 9 doesn't use this naming convention for interface names. Thus, if you see an interface named IDrawableInComic, it was probably coded by someone who has C# experience and transferred the naming convention to the Java land.

The following UML diagram shows the five interfaces that we will code with their required methods included in the diagram. Notice that we include the <<interface>> text before the class name in each diagram that declares an interface.

The following lines show the code for the DrawableInComic interface. The public modifier, followed by the interface keyword and the interface name, DrawableInComic, composes the interface declaration. As it happens with class declarations, the interface body is enclosed...