Intermediate Java

Intermediate Java

Duration: 3 Days

Description

This course builds upon foundational Java knowledge to deepen participants’ understanding of modern object-oriented and functional programming practices. Emphasizing real-world application, the course covers interfaces, abstract classes, collections, streams, lambdas, generics, and exception handling. Through hands-on exercises and guided labs, learners will enhance their ability to write efficient, modular, and maintainable Java code while leveraging powerful standard libraries and programming paradigms introduced in recent Java versions.

Audience

This course is designed for developers who have basic Java programming experience and are looking to advance their skills. It is well-suited for learners who want to write more efficient and scalable code, prepare for professional Java certification, or transition 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