Get in Touch

Course Outline

Review

  • Inheritance and Interfaces
  • Object References versus 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 versus Composition: Pros and Cons
  • Composite Pattern
  • Inner Classes

Reflection

  • The Class Named 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

  • 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
  • Organising Tests with JUnit
  • Writing Fixtures - @Before, @After
  • Test Suites and Other Capabilities
  • Overview of Mock Objects

Build Tools

  • Ant Overview
  • Maven Overview

Abstract Class

  • Principles of Declaration and Implementation of Abstract Classes
  • Troubles Commonly Encountered When Working with Abstract Classes

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

  • Grading Java Object-Oriented Abstraction
  • The Complete Object Model in Java
  • Program Model Oriented Towards Interfaces and Abstract Classes to Enhance Flexibility and Independence Among Sub-Systems in Their Implementation
  • Applications of Abstract Classes to Extract Common Functionality While Retaining the Flexibility Offered by Interfaces

The Role of Dynamic and Static Objects in the Application Model

  • Static Java Classes and the Dynamic Properties of These Classes
  • Distinguishing the Functionality of Both Types of Entities Within Java, Typical Use Cases, and Examples of Good Practice in Designing Solutions Based on Static and Dynamic Constructs in Java
  • Introduction to Design Patterns
  • Introduction to the Factory Design Pattern

Operations with Simple Types and Wrapper Classes

  • Essential Facts and Techniques to Extend the Use of Simple Types in the Java Object Model
  • Discussion of the Role of Wrapper Classes for Simple Types and Their Typical Applications Within the Application

Special Objects in Java: The String Class, StringBuilder and StringBuffer

  • Recap of Basic Properties of the String Class and Discussion of How the Virtual Machine Handles String Objects
  • Use of Buffer Classes and Operations on Character Sequences

Formatting and Parsing, Regular Expressions

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

Requirements

  • Knowledge of the Java language and object-oriented programming (OOP). Participants should be familiar with packages, control flows and loops, basic concrete classes, and fundamental interfaces.

 21 Hours

Number of participants


Price per participant

Testimonials (3)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories