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

Working with object initialization and its customization


When you ask Java to create an instance of a specific class, something happens under the hood. Java creates a new instance of the specified type, the JVM (Java Virtual Machine) allocates the necessary memory, and then executes the code specified in the constructor.

When Java executes the code within the constructor, there is already a live instance of the class. Thus, the code in the constructor has access to the fields and methods defined in the class. Obviously, we must be careful in the code we put within the constructor because we might end up generating huge delays when we create instances of the class.

Note

Constructors are extremely useful to execute setup code and properly initialize a new instance.

Let's forget about the hierarchy structure in which we were working for the classes that represent 2D shapes. Imagine that we have to code the Circle class as a standalone class that doesn't inherit from any other class. Before we can...