Intermediate Java

Intermediate Java

Duration: 3 Days

Description

This course builds on foundational Java knowledge to deepen participants’ understanding of modern object-oriented and functional programming practices. With an emphasis on real-world application, the course covers interfaces, abstract classes, collections, streams, lambdas, generics, and exception handling. Through hands-on exercises and guided labs, learners strengthen their ability to write efficient, modular, and maintainable Java code while working with the language’s powerful standard libraries.

Audience

This course is designed for developers with basic Java experience who are ready to advance their skills. It’s well suited for those looking to write more efficient, scalable code, prepare for professional Java certification, or move into enterprise-level development roles.

Objectives

  • Differentiate and implement interfaces and abstract classes in Java, including modern interface features
  • Apply polymorphism, casting, and inheritance principles in more complex object-oriented designs
  • Write and use lambda expressions and method references for cleaner, functional-style code
  • Work with core Java classes such as Object, String, and StringBuilder
  • Utilize the Java Collections Framework to store, manipulate, and sort structured data
  • Develop and manipulate data pipelines using the Java Stream API
  • Handle exceptions effectively, including exception chaining for robust error reporting
  • Define and use generic types and bounded wildcards to create type-safe, reusable code

Prerequisites

Participants should have a working knowledge of Java fundamentals, including classes and objects, basic inheritance, control flow, arrays, and methods. Completion of an introductory Java course or equivalent hands-on experience is recommended. Familiarity with object-oriented programming principles is expected.

Course Outline

Module 1: Interfaces and Abstract Classes

  • Interfaces
  • Defining, Implementing, and Extending
  • Abstract Classes
  • Modern Java Interfaces
  • Polymorphism and Casting

Module 2: Functional Interfaces and Lambdas

  • Lambda Expression Fundamentals
  • Method References

Module 3: Commonly Used Classes

  • Object
  • String and StringBuilder

Module 4: Collections

  • The Collection Framework
  • List
  • Set
  • Map
  • Queue and Deque
  • Sorting Collections

Module 5: Streams

  • Overview
  • The Stream API
  • Predicate, Comparator, Function
  • Stream Types – Intermediate and Terminal

Module 6: Exceptions

  • Overview
  • Exception Handling
  • Exception Chaining

Module 7: Generics

  • Generic Types
  • Bounded Wildcards