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

Using a generic class for multiple compatible types


We can create instances of the Party<T> class by replacing the T generic type parameter with any type name that adapts to the type constraints specified in the declaration of the Party<T> class. So far, we have three concrete classes that implement both the Sociable and Comparable<Sociable> interfaces: SocialLion, SocialParrot, and SocialSwan. Hence, we can use SocialLion to create an instance of Party<SocialLion>, that is, a Party of SocialLion. We take advantage of type inference and we use the previously explained diamond notation. This way, we will create a party of lions, and Simba is the party leader. The code file for the sample is included in the java_9_oop_chapter_10_01 folder, in the example10_01.java file.

SocialLion simba = new SocialLion("Simba", 10);
SocialLion mufasa = new SocialLion("Mufasa", 5);
SocialLion scar = new SocialLion("Scar", 9);
SocialLion nala = new SocialLion("Nala", 7);
Party<SocialLion...