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

Declaring classes


The following lines declare a new minimal Rectangle class in Java. The code file for the sample is included in the java_9_oop_chapter_03_01 folder, in the example03_01.java file.

class Rectangle {
}

The class keyword, followed by the class name (Rectangle), composes the header of the class definition. In this case, we don't specify a parent class or superclass for the Rectangle class. A pair of curly braces ({}) encloses the class body after the class header. In the forthcoming chapters, we will declare classes that inherit from another class, and therefore, they will have a superclass. In this case, the class body is empty. The Rectangle class is the simplest possible class we can declare in Java 9.

Note

Any new class you create that doesn't specify a superclass will be a subclass of the java.lang.Object class. Thus, the Rectangle class is a subclass of java.lang.Object.

The following lines represent an equivalent way of creating the Rectangle class. However, we don't need...