Course Outline
Review
- Inheritance and Interfaces
- Object References versus Inheritance
- Polymorphism
- Static and Default Methods in Interfaces
- Collections and Generics
- Advanced Generics (Inheritance, Wildcards)
- Writing Generic Types
Design Patterns
- Object Creation
- Static Methods and Fields
- The new Operator
- Creation Patterns
- Inheritance versus Composition: Pros and Cons
- Composite Pattern
- Inner Classes
Reflection
- The Class class
- Locating Fields, Methods, and Constructors
- Accessing Fields and Invoking Methods
- Examining Arrays
Annotations
- Annotations in the Java API (@Override, @Deprecated)
- Defining Custom Annotations
Functional Programming
- Overview of Lambda Expressions
- Lambda Expressions and Functional Interfaces
- Practical Use of Lambda Expressions
- Working with Method References
The Stream API
- Streams and Collections
- Filtering Collections
- Chaining and Pipelining
Date/Time API
- Legacy APIs
- The Date/Time API (JSR 310)
- Date-Based and Time-Based Events
- Timestamps, Periods, and Durations
- Performing Calculations
- Formatting
- Localization and Time Zones
JUnit Basics
- JUnit Overview and Test-Driven Development
- Tests and Assertions
- Handling Exceptions
- Organizing Tests with JUnit
- Writing Fixtures - @Before, @After
- Test Suites and Additional Features
- Overview of Mock Objects
Build Tools
- Ant Overview
- Maven Overview
Requirements
Familiarity with the Java language and Object-Oriented Programming (OOP) principles is required. Participants should already be comfortable with packages, control flow statements, loops, basic concrete classes, and fundamental interfaces.
Testimonials (3)
That we got a complex overview also about the context - for example why do we need some annotations and what they mean. I liked the practical part of the training - having to manually run the commands and call the rest api's
Alina - ACCENTURE SERVICES S.R.L
Course - Quarkus for Developers
interaction through exercises and also projects sharing
Claudiu - MSG system
Course - Advanced Spring Boot
The extra information that was shared, the training was not straightforward groovy, which was nice.