Java SE Advanced Language Features
You want to deepen your knowledge as a Java developer. This course will teach you Java beyond the fundamentals, and you'll learn how to use records, sealed classes, lambda expressions, annotations, generics, and other Java features effectively.
What you'll learn
To grow as a Java developer, you'll need to understand and be able to use all the tools that Java provides to you. In this course, Java SE Advanced Language Features, you'll learn how to use Java features that go beyond the fundamentals. First, you'll learn how to build a domain model with records and sealed classes, and explore advanced classes and interfaces. Next, you'll learn advanced use of generics. Finally, you'll gain a deeper understanding of lambda expressions, writing your own annotations, using Optional, and try-with-resources. When you're finished with this course, you'll have the skills and knowledge of advanced Java needed to work on any Java software development project effectively and professionally.
Table of contents
- Course Introduction 5m
- Immutable Data Objects 6m
- Immutable Classes and Records 3m
- Creating a Record 3m
- Overriding Accessor Methods 4m
- Automatically Generated Object Methods 2m
- The Canonical Constructor 6m
- The Compact Constructor 2m
- Additional Constructors 4m
- The Class Hierarchy of Records 1m
- Practical Use Cases for Records 9m
- Building Records with the Builder Pattern 4m
- Adding Wither Methods to Records 7m
- Module Summary 3m
- Overview 2m
- Example: Defining Generic Types 6m
- Explanation: Defining Generic Types 8m
- Defining Generic Methods 7m
- Bounded Type Parameters 4m
- Multiple Type Parameter Bounds 4m
- Raw Types 2m
- Generics and Inheritance 4m
- Wildcards 4m
- Wildcard Capture 6m
- Using Wildcards in Practice 6m
- Understanding Wildcards in Method Signatures 6m
- Type Erasure 4m
- Limitations Caused by Type Erasure 4m
- Heap Pollution 5m
- Generics and Arrays 5m
- Generics and Variable Arguments 8m
- Module Summary 6m