Course Outline
Core Concepts Review
- Inheritance and Interfaces
- Object References vs. Inheritance
- Polymorphism
- Interface Static and Default Methods
- Collections and Generics
- Generics: Inheritance and Wildcards
- Writing Generic Types
Design Patterns
- Object Creation Strategies
- Static Methods and Fields
- The 'new' Operator
- Creation Patterns
- Inheritance vs. Composition: Pros and Cons
- Composite Pattern
- Inner Classes
Reflection
- Understanding 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
- Lambda Expressions Overview
- Lambda Expressions and Functional Interfaces
- Utilizing 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 Other Capabilities
- Overview of Mock Objects
Build Tools
- Ant Overview
- Maven Overview
Requirements
Prerequisites include a solid grasp of the Java language and Object-Oriented Programming (OOP) principles. Participants must be familiar with packages, control flow structures, 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.