Review
Inheritance and Intefances
Object References vs Inheritence
Polymorphism
Interface Static and Default Methods
Collections and Generics
Generics (Inheritance, Wildcards)
Writing Generic Types
Design Patterns
Object Creation
Static methods and fields
new Operator
Creation Patterns
Inheritance vs Composition / Pros and Cons
Composite Pattern
Inner Classes
Reflection
The class called Class
Finding Fields, Methods, and Constructors
Accessing Fields, Invoking Methods
Examining Arrays
Annotations
Annotations in the Java API (@Override, @Deprecated)
Defining Annotations
Functional Programming
Lambda Expression Overview
Lambda Expressions and Functional Interfaces
Using Lambda Expressions
Working with Method References
The Stream API
Streams and Collections
Filtering Collections
Chaining and Pipelining
Date/Time API
Legecy APIs
The Date/Time API (JSR 310)
Date-Based and Time-Based Events
Timestamps, Periods, and Durations
Performing Calculations
Formatting
Localization / Time Zones
JUnit Basics
JUnit Overview, Test Driven Development
Tests and Assertions
Working With Exceptions
Organizing Tests with JUnit
Writing Fixtures - @Before, @After
Test Suites, and Other Capabilities
Mock Objects Overview
Build Tools
Ant Overview
Maven Overview
|