Get in Touch

Course Outline

Review

  • Inheritance and Interfaces
  • Object References vs. Inheritance
  • Polymorphism
  • Static and Default Methods in Interfaces
  • Collections and Generics
  • Generics (Inheritance, Wildcards)
  • Writing Generic Types

Design Patterns

  • Object Creation
  • Static Methods and Fields
  • Using 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 Custom Annotations

Functional Programming

  • Overview of Lambda Expressions
  • 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 and 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 Classes

  • Principles of declaration and implementation of abstract classes
  • Common challenges encountered when working with abstract classes

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

  • Levels of Java Object-Oriented Abstraction
  • The Complete Object Model in Java
  • Designing for Interfaces, Abstract Classes, and Implementations to Enhance Flexibility and Independence Among Sub-systems
  • Leveraging Abstract Classes to Extract Common Functionality, Combining the Flexibility Offered by Interfaces with Concrete Implementations

The Role of Dynamic and Static Objects in the Application Model

  • Static Java Classes and Their Dynamic Properties
  • Distinctions in Functionality Between Static and Dynamic Entities in Java, Including Typical Use Cases and Best Practices in Designing Solutions Based on Static and Dynamic Java Elements
  • Introduction to Design Patterns
  • Introduction to the Factory Design Pattern

Operations with Primitive Types and Wrapper Classes

  • Essential 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 in Application Development

Special Java Objects: String, StringBuilder, and StringBuffer

  • Review of Basic String Class Properties and Virtual Machine Handling of String Objects
  • Usage of Buffer Classes and Operations on Character Chains

Formatting, Parsing, and Regular Expressions

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

Requirements

  • Proficiency in the Java language and Object-Oriented Programming (OOP) principles. Participants must be familiar with packages, control flow and loop structures, core classes, and fundamental interfaces.

 21 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories