更新时间:2021-07-09 18:47:11
封面
版权信息
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Chapter 1. JShell – A Read-Evaluate-Print-Loop for Java 9
Getting ready for our journey toward OOP with Java 9
Installing the required software on Windows macOS or Linux
Running Java 9 code in JShell
Working with variables methods and sources
Editing the source code in our favorite external code editor
Loading source code
Test your knowledge
Summary
Chapter 2. Real-World Objects to UML Diagrams and Java 9 via JShell
Identifying objects from applications requirements
Capturing real-world objects
Generating classes to create objects
Recognizing variables and constants
Identifying actions to create methods
Organizing classes with UML diagrams
Using feedback from domain experts
Chapter 3. Classes and Instances
Understanding classes and instances in Java 9
Working with object initialization and its customization
Introducing garbage collection
Declaring classes
Customizing constructors and initialization
Understanding how garbage collection works
Creating instances of classes and understanding their scope
Exercises
Chapter 4. Encapsulation of Data
Understanding members composing a class
Declaring immutable fields
Working with setters and getters
Combining setters getters and fields
Transforming values with setters and getters
Using static fields to provide class-level values
Using static methods to provide overridable class-level values
Chapter 5. Mutable and Immutable Classes
Creating mutable classes in Java 9
Working with mutable objects in JShell
Building immutable classes in Java 9
Working with immutable objects in JShell
Understanding the differences between mutating and non-mutating objects
Learning the advantages of non-mutating objects when writing concurrent code
Working with instances of the immutable String class
Creating the immutable version of an existing mutable class
Chapter 6. Inheritance Abstraction Extension and Specialization
Creating class hierarchies to abstract and specialize behavior
Understanding inheritance
Creating an abstract base class
Declaring classes that inherit from another class
Overriding and overloading methods
Chapter 7. Members Inheritance and Polymorphism
Creating concrete classes that inherit from abstract superclasses
Understanding polymorphism
Controlling overridability of members in subclasses
Controlling subclassing of classes
Creating methods that work with instances of different subclasses
Chapter 8. Contract Programming with Interfaces
Understanding how interfaces work in combination with classes
Declaring interfaces
Declaring classes that implement interfaces
Taking advantage of the multiple inheritance of interfaces
Combining class inheritance and interfaces
Chapter 9. Advanced Contract Programming with Interfaces
Working with methods receiving interfaces as arguments
Downcasting with interfaces and classes
Treating instances of an interface type as a different subclass
Taking advantage of default methods in interfaces in Java 9
Chapter 10. Maximization of Code Reuse with Generics
Understanding parametric polymorphism Java 9 generics and generic code
Declaring an interface to be used as a type constraint
Declaring a class that conforms to multiple interfaces
Declaring subclasses that inherit the implementation of interfaces
Creating exception classes
Declaring a class that works with a constrained generic type
Using a generic class for multiple compatible types