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