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

Creating instances of classes and understanding their scope


We will write a few lines of code that create an instance of the Rectangle class named rectangle within the scope of a getGeneratedRectangleHeight method. The code within the method uses the created instance to access and return the value of its height field. In this case, the code uses the final keyword as a prefix to the Rectangle type to declare an immutable reference to the Rectangle instance named rectangle.

Note

An immutable reference is also known as a constant reference because we cannot replace the reference held by the rectangle constant with another instance of Rectangle.

After we define the new method, we will call it and we will force a garbage collection. The code file for the sample is included in the java_9_oop_chapter_03_01 folder, in the example03_15.java file.

double getGeneratedRectangleHeight() {
    final Rectangle rectangle = new Rectangle(37, 87);
    return rectangle.height; 
}

System.out.printf("Height: ...