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

Understanding how interfaces work in combination with classes


Let's imagine we have to develop a Web Service in which we have to work with two different types of character: comic and game characters.

A comic character must be drawable in a comic strip. A comic character must be able to provide a nickname and perform the following tasks:

  • Draw a speech balloon, also known as speech bubble, with a message

  • Draw a thought balloon, also known as thought bubble, with a message

  • Draw a speech balloon with a message and another comic character, drawable in a comic strip, as a destination

A game character must be drawable in a game scene. A game character must be able to provide a full name and its current score. In addition, a game character must be able to perform the following tasks:

  • Set its desired location to a specific 2D position indicated by the x and y coordinates

  • Provide the value for its x coordinate

  • Provide the value for its y coordinate

  • Draw itself at its current position

  • Check whether it intersects...