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 a class that works with a constrained generic type


The following lines declare a Party class that takes advantage of generics to work with many types. We import java.util.concurrent.ThreadLocalRandom because it is an extremely useful class to easily generate a pseudo-random number within a range. The class name, Party, is followed by a less than sign (<), a T that identifies the generic type parameter, the extends keyword, and an interface name that the T generic type parameter must implement, Sociable, an ampersand (&), and another interface name that the T generic type must also implement, Comparable<Sociable>. The greater than sign (>) ends the type constraint declaration that is included within angle brackets (<>). Thus, the T generic type parameter has to be a type that must implement both the Sociable and Comparable<Sociable> interfaces. The following code highlights the lines that use the T generic type parameter. The code file for the sample...