Course Outline
Review
- Inheritance and Interfaces
- Object References versus Inheritance
- Polymorphism
- Interface Static and Default Methods
- Collections and Generics
- Generics (Inheritance, Wildcards)
- Writing Generic Types
Design Patterns
- Object Creation Techniques
- Static Methods and Fields
- The new Operator
- Creation Patterns
- Inheritance versus Composition: Pros and Cons
- Composite Pattern
- Inner Classes
Reflection
- The Class Class in Java
- Finding 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 Expression Overview
- Lambda Expressions and Functional Interfaces
- Using Lambda Expressions in Code
- Working with Method References
The Stream API
- Streams and Collections for Data Processing
- Filtering Elements in Collections
- Chaining and Pipelining Operations
Date/Time API
- Legacy Date and Time APIs
- The Modern Date/Time API (JSR 310)
- Date-Based and Time-Based Events in Applications
- Timestamps, Periods, and Durations for Precise Timing
- Performing Calculations with Dates and Times
- Formatting Date and Time Strings
- Localization and Time Zones for Global Applications
JUnit Basics
- Overview of JUnit and Test-Driven Development
- Tests and Assertions in Unit Testing
- Handling Exceptions in Tests
- Organizing Tests with JUnit Annotations (@Before, @After)
- Test Suites and Other Capabilities for Comprehensive Testing
- Introduction to Mock Objects for Isolated Testing
Build Tools
- Overview of Ant for Build Automation
- Overview of Maven for Project Management
Abstract Class
- Principles and Implementation of Abstract Classes for Government Projects
- Common Issues and Solutions When Working with Abstract Classes for government Applications
The Role of Classes, Abstract Classes, and Interfaces in the Application Model
- Evaluation of Java Object-Oriented Abstraction for Government Use
- The Complete Object Model in Java for Robust Software Development
- Program Models Utilizing Interfaces, Abstract Classes, and Concrete Classes for Enhanced Flexibility and Independence in Sub-Systems for government Applications
- Applications of Abstract Classes to Extract Common Functionality and Enhance Flexibility through Interface Implementation for government Projects
The Role of Dynamic and Static Objects in the Application Model
- Static Java Classes and Their Dynamic Properties for Government Applications
- Distinguishing Between Static and Dynamic Entities in Java: Typical Uses and Best Practices for Designing Solutions Based on These Concepts for government Projects
- Introduction to Design Patterns for Efficient Software Development
- Introduction to the Factory Design Pattern for Creating Objects Dynamically for government Applications
Operations with Simple Types and Wrapper Classes
- Key Facts and Techniques for Extending the Use of Simple Types in the Java Object Model for Government Projects
- The Role of Wrapper Classes for Simple Types and Their Typical Applications in Software Development for government Systems
Special Objects in Java: String, StringBuilder, and StringBuffer
- Fundamental Properties of the String Class and How String Objects Are Handled by the Virtual Machine for government Applications
- Using Buffer Classes for Efficient String Manipulation in Government Projects
Formatting and Parsing, Regular Expressions
- Introduction to Regular Expressions in Java for Data Validation and Pattern Matching for government Systems
- Basic Techniques for Handling Regular Expressions Using the String Class and Advanced Techniques with Dedicated Classes for Constructing Complex Patterns for government Applications
- Tokenization, Search, and Pattern Matching for String Types in Government Software Development
Requirements
-
Participants must have knowledge of the Java language and object-oriented programming (OOP). This includes understanding packages, control structures, loops, basic concrete classes, and fundamental interfaces for government applications.
Testimonials (5)
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
The extra information that was shared, the training was not straightforward groovy, which was nice.
Covenant - Vodacom
Course - Groovy Programming
the trainer can clearly explain the topic and can answer every question.
Hannah Mae Lubigan - Security Bank Corporation
Course - Advanced Spring Boot
Training style and trainer helps solve issues encountered during the exercises.
Carl Angelo Gonzales - Security Bank Corporation
Course - Spring Boot for Beginners
The breadth of the topis covered was quite a bit and the trainer tried to do justice to that.