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

Understanding inheritance


When a class inherits from another class, it inherits all the members that compose the parent class, which is also known as the superclass. The class that inherits the elements is known as a subclass of the superclass. For example, the VirtualBird subclass inherits all the instance fields, class fields, instance methods, and class methods defined in the VirtualAnimal superclass.

Note

In Java 9, a subclass doesn't inherit any constructor from its superclass. However, it is possible to call the constructors defined in the superclass and we will do this in the next examples. Only the usage of the private access modifier in any constructor defined in a superclass can make it impossible for a subclass to call this constructor.

The VirtualAnimal abstract class is the baseline for our class hierarchy. We say that it is an abstract class because we cannot create instances of the VirtualAnimal class. Instead, we must create instances of the specific subclasses of VirtualAnimal...