All Courses Java Tutorials

Java 17 – the cool new features introduced since Java 11

Java 17 – the cool new features introduced since Java 11

Master important Java features Sealed Classes; Records; switch expressions and pattern matching; Text blocks. [2023]

What you’ll learn

Java 17 – the cool new features introduced since Java 11

  • Sealed classes: customize an inheritance hierarchy using closed classes and interfaces.

  • Records: save yourself time and effort by utilizing forms for data-centric classes.

  • Switch expressions: understand how they work and how to use the ‘yield’ keyword.

  • Pattern matching: for both ‘switch’ and ‘instanceof’.

  • Text blocks: their advantages and how to code them.

  • Preview features: understand what they are and how to enable them in IntelliJ.


  • Intermediate Java experience.

  • Access to an IDE such as Netbeans, Eclipse, or IntelliJ.



If you are looking at this course, then might I suggest you look at my other system, “Java 17, Java 11, Advanced Java 8, (1Z0-829,1Z0-819,1Z0-809)”, which is, albeit more expensive, better value for money (in my opinion). However, if you are


interested in Java 17, this course is perfect.

Java has three major LTS (Long Term Support) releases – Java 8, Java 11, and Java 17.

I already have 2 Java courses. One covers Java fundamentals: “Complete Java 8 OCA (1Z0-808) Java Certification Course”. The other builds on that course and covers advanced Java up to Java 17: “Java 17, Java 11, Advanced Java 8, (1Z0-829, 1Z0-819, 1Z0-809)”.

This new 2023 course is specific to Java 17 and contains the latest topics that have been added since Java 11, i.e. it covers the releases 12, 13, 14, 15, 16, and 17. The issues are listed below:

Sealed classes

– find out how to customize/scope your inheritance hierarchy.


– save yourself a lot of typing by using forms to generate boilerplate code.

Switch expressions and pattern matching

– understand what


expressions are and how to use pattern matching for


statements and terms.


expressions also introduced the


keyword; understand how to use it. Both switch and instance of use pattern matching. A pattern matching


is a preview feature in Java 17, and how to enable this feature in an IDE is shown.

Java 17 – the cool new features introduced since Java 11

Text blocks

– multi-line text can be tedious and error-prone with lots of newlines and escaping of the double quotes. Text blocks help in both scenarios by making the code easier to write and maintain.


– there is a coding assignment incorporating all the topics above.

Additional Content




methods are explained in detail as Records generates default implementations of these methods. Records are immutable,, so immutable classes are also presented (along with the much-misunderstood call-by-value principle). This leads naturally to Advanced Encapsulation as mutable instance fields can break encapsulation. In addition, the assignment presents a UML diagram with instructions – for those new to UML,, there are three videos outlining it.

By way of background, I have been a PhD-qualified University lecturer since 2002. For over a decade, I have taught Java on a bespoke Master’s on behalf of a highly regarded software company.

I have recently co-authored a book called “Java Memory Management: a comprehensive guide to garbage collection and JVM tuning” with Maaike van Putten.

I love teaching, and this course has all my experience in explaining advanced concepts of Java. In addition, I have a solid attention to detail which lends itself perfectly to the Oracle Java Certification exams. I am delighted that Enthuware, in its explanations, has linked to my YouTube channel.

Who this course is for:

  • Intermediate Java developers who want to know what has been introduced into Java since the last LTS,, i.e. Java 11.

Introduction to Data Science using Python – Udemy Free Course

If the links does not work, contact us we will fix them