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 conforms to multiple interfaces


Now, we will declare an abstract class named SocialAnimal that implements both the previously defined Sociable interface and the Comparable<Sociable> interface. The latter makes it possible to compare two objects of the Sociable type. In order to implement the Comparable<Sociable> interface, we must implement the compareTo method that receives a Sociable instance and will return the results of comparing their age values. In addition, the class will override the equals method inherited from the java.lang.Object class. We will explain the code for this complex method later, when we review the code for the class. We can read the class declaration as "the SocialAnimal class implements both the Sociable and the Comparable of Sociable interfaces."

The SocialAnimal abstract class has too many lines of code, and therefore, we will use three code snippets instead of just one. The following lines show the first code snippet for the...