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...
Java 9 with JShell
By :
Java 9 with JShell
By:
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
Free Chapter
JShell – A Read-Evaluate-Print-Loop for Java 9
Real-World Objects to UML Diagrams and Java 9 via JShell
Classes and Instances
Encapsulation of Data
Mutable and Immutable Classes
Inheritance, Abstraction, Extension, and Specialization
Members Inheritance and Polymorphism
Contract Programming with Interfaces
Advanced Contract Programming with Interfaces
Maximization of Code Reuse with Generics
Advanced Generics
Object-Oriented, Functional Programming, and Lambda Expressions
Modularity in Java 9
Exercise Answers
Index
Customer Reviews