The following lines declare a PartyWithHearable
subclass of the previously created Party<T>
class that takes advantage of generics to work with two constrained types. The type constraints declaration is included within angle brackets (<>
). In this case, we have two generic type parameters: T
and U
. The generic type parameter named T
must implement both the Sociable
and Comparable<Sociable>
interfaces, as it happened in the Party<T>
superclass. The generic type parameter named U
must implement the Hearable
interface. Notice that the extends
keyword that follows the type parameter allows us to add the constraints to the generic type parameters and the same keyword after the angle brackets specifies that the class inherits from the Party<T>
superclass. This way, the class specifies constraints for both the T
and U
generic type parameters, and inherits from Party<T>
.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