Get in Touch

Course Outline

Core Concepts Review

  • Inheritance and Interfaces
  • Object References Versus Inheritance
  • Polymorphism
  • Interface Static and Default Methods
  • Collections and Generics
  • Generics: Inheritance and Wildcards
  • Designing 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
  • Discovering 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
  • Creating Fixtures - @Before, @After
  • Test Suites and Additional Capabilities
  • Overview of Mock Objects

Build Tools

  • Ant Overview
  • Maven Overview

Abstract Classes

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

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

  • Understanding Java's Object-Oriented Abstraction Levels
  • Comprehensive Object Model in Java
  • Developing Applications Oriented Toward Interfaces and Abstract Classes for Enhanced Flexibility and Subsystem Independence
  • Utilizing Abstract Classes to Extract Common Functionality, Extended by the Flexibility Offered by Interfaces

The Role of Dynamic and Static Objects in the Application Model

  • Static Java Classes and Their Dynamic Properties
  • Distinguishing Functionality Between Static and Dynamic Entities in Java: Typical Uses and Best Practices in Solution Design
  • 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 Primitive Types in the Java Object Model
  • Discussion on the Role of Wrapper Classes for Primitive Types and Their Typical Applications

Special Java Objects: String, StringBuilder, and StringBuffer

  • Review of Basic Properties of the String Class and Virtual Machine Handling of String Objects
  • Utilizing Buffer Classes and String Operations

Formatting, Parsing, and Regular Expressions

  • Introduction to Regular Expressions in Java
  • Discussion of Basic Techniques for Handling Regular Expressions (String Class) and Advanced Techniques Using Dedicated Classes
  • Tokenization, Search, and Pattern Matching for String Types

Requirements

  • Foundational knowledge of Java and Object-Oriented Programming (OOP) is required. Participants must be proficient in packages, control flow structures, loops, basic concrete classes, and fundamental interfaces.

 21 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories