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

Test your knowledge


  1. When Java executes the code within a constructor:

    1. We cannot access any members defined in the class.

    2. There is already a live instance of the class. We can access methods defined in the class but we cannot access its fields.

    3. There is already a live instance of the class and we can access its members.

  2. Constructors are extremely useful to:

    1. Execute setup code and properly initialize a new instance.

    2. Execute cleanup code before the instance is destroyed.

    3. Declare methods that will be accessible to all the instances of the class.

  3. Java 9 uses one of the following mechanisms to automatically deallocate the memory used by instances that aren't referenced anymore:

    1. Instance map reduce.

    2. Garbage compression.

    3. Garbage collection.

  4. Java 9 allows us to define:

    1. A main constructor and two optional secondary constructors.

    2. Many constructors with different arguments.

    3. Only one constructor per class.

  5. Any new class we create that doesn't specify a superclass will be a subclass of:

    1. java.lang.Base

    2. java.lang.Object...