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