When Java executes the code within a constructor:
We cannot access any members defined in the class.
There is already a live instance of the class. We can access methods defined in the class but we cannot access its fields.
There is already a live instance of the class and we can access its members.
Constructors are extremely useful to:
Execute setup code and properly initialize a new instance.
Execute cleanup code before the instance is destroyed.
Declare methods that will be accessible to all the instances of the class.
Java 9 uses one of the following mechanisms to automatically deallocate the memory used by instances that aren't referenced anymore:
Instance map reduce.
Garbage compression.
Garbage collection.
Java 9 allows us to define:
A main constructor and two optional secondary constructors.
Many constructors with different arguments.
Only one constructor per class.
Any new class we create that doesn't specify a superclass will be a subclass of:
java.lang.Base
java.lang.Object...
Java 9 with JShell
By :
Java 9 with JShell
By:
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
Free Chapter
JShell – A Read-Evaluate-Print-Loop for Java 9
Real-World Objects to UML Diagrams and Java 9 via JShell
Classes and Instances
Encapsulation of Data
Mutable and Immutable Classes
Inheritance, Abstraction, Extension, and Specialization
Members Inheritance and Polymorphism
Contract Programming with Interfaces
Advanced Contract Programming with Interfaces
Maximization of Code Reuse with Generics
Advanced Generics
Object-Oriented, Functional Programming, and Lambda Expressions
Modularity in Java 9
Exercise Answers
Index
Customer Reviews