Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Review
- Inheritance and Interfaces
- Object References vs. Inheritance
- Polymorphism
- Static and Default Methods in Interfaces
- Collections and Generics
- Generics: Inheritance and Wildcards
- Writing Generic Types
Design Patterns
- Object Creation
- Static Methods and Fields
- The new Operator
- Creation Patterns
- Inheritance vs. Composition: Pros and Cons
- Composite Pattern
- Inner Classes
Reflection
- The Class Class
- Finding Fields, Methods, and Constructors
- Accessing Fields and 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
- Legacy 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 and 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
Abstract Class
- Declaration principles and implementation of abstract classes
- Typical challenges encountered when working with abstract classes
The Role of Classes, Abstract Classes, and Interfaces in the Application Model
- Evaluating Java object-oriented abstraction levels
- The complete object model in Java
- Programmatic models oriented towards interfaces and abstract classes to enhance application flexibility and decouple subsystems from each other in their implementation
- Applications of abstract classes to extract common functionality while leveraging the flexibility provided by interfaces
The Role of Dynamic and Static Objects in the Application Model
- Static Java classes and the dynamic properties of these classes
- Distinguishing between the functionality of both types of entities in Java, including typical uses and examples of best practices in designing solutions based on static and dynamic Java elements
- Introduction to design patterns
- Introduction to the Factory design pattern
Operations with Simple Types and Wrapper Classes
- Key facts and techniques to extend the use of primitive types within the Java object model.
- Discussion of the role of wrapper classes for primitive types and their typical applications within the application
Special Java Objects: The String Class, StringBuilder, and StringBuffer
- Review of basic properties of the String class and discussion of how the virtual machine handles String objects
- Use of buffer classes and operations on strings
Formatting, Parsing, and Regular Expressions
- Introduction to regular expressions in Java
- Discussion of both basic techniques for handling regular expressions (using the String class) as well as advanced techniques based on dedicated classes for this purpose
- Tokenization, search, and pattern matching for string types
Requirements
-
Prerequisite knowledge of the Java language and Object-Oriented Programming (OOP). Participants must be proficient in packages, control flow statements and loops, as well as basic concrete classes and interfaces.
21 Hours
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.