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
  • Static Methods and Fields
  • New Operator
  • Creation Patterns
  • Inheritance versus 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

  • 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, 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

  • Principles of Declaration and Implementation of Abstract Classes
  • Common Issues Encountered When Working with Abstract Classes

The Role of Classes, Abstract Classes, and Interfaces in the Application Model

  • Evaluation of Java Object-Oriented Abstraction
  • The Complete Object Model in Java
  • Program Model Oriented for Interfaces, Abstract Classes, and Interfaces to Enhance Flexibility and Independence of Sub-Systems in Their Implementation
  • Applications of Abstract Classes to Extract Common Functionality and Extend Implementation Flexibility Through Interfaces

The Role of Dynamic and Static Objects in the Application Model

  • Static Java Classes and Dynamic Properties of These Classes
  • Differentiating Functionalities of Both Types of Entities within Java, Typical Uses, and Best Practices in Designing Solutions Based on Static and Dynamic Java Entities
  • Introduction to Design Patterns
  • Introduction to the Factory Design Pattern

Operations with Simple Types and Wrapper Classes

  • Key Facts and Techniques for Extending the Use of Simple Types in the Java Object Model
  • Discussion on the Role of Wrapper Classes for Simple Types and Typical Applications in the Application

Special Objects in Java: String, StringBuilder, and StringBuffer

  • Review of Basic Properties of the String Class and Discussion on the Treatment of String Objects by the Virtual Machine
  • Use of Buffer Classes and Operations on Strings

Formatting and Parsing, Regular Expressions

  • Introduction to Regular Expressions in Java for Government
  • Discussion of Both Basic Techniques for Handling Regular Expressions (String Class) as Well as Advanced Techniques Based on Dedicated Classes for This Type of Construction
  • Tokenization, Search, and Pattern Matching for String Types

Requirements

  • Participants should possess a foundational understanding of the Java language and object-oriented programming (OOP). This includes knowledge of packages, control flow structures, loops, basic concrete classes, and fundamental interfaces for government applications.

 21 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories