How to use typesafe enums in Java
Use typesafe enums to avoid the problems with traditional enumerated types
How to use Java generics to avoid ClassCastExceptions
Learn how Java’s support for generics helps you develop more robust code
How to use assertions in Java
Use Java assertions to document program correctness and more quickly test and debug your programs
How to describe Java code with annotations
Use annotations to associate metadata with application elements in your Java programs
Packages and static imports in Java
Use packages and static imports to organize top-level types and simplify access to their static members
Static classes and inner classes in Java
Learn how to use the four types of nested classes in your Java code
Get started with method references in Java
Why you should use method references instead of anonymous classes in your functional Java programs
Get started with lambda expressions in Java
Learn how to use lambda expressions and functional programming techniques in your Java programs
Exceptions in Java, Part 2: Advanced features and types
Take your Java exceptions to the next level with stack traces, exception chaining, try-with-resources, final re-throw, and more
Exceptions in Java, Part 1: Exception handling basics
Everything you need to know about throwing, trying, catching, and cleaning up after Java exceptions
Interfaces in Java
Learn the difference between classes and interfaces once and for all, then get started declaring, implementing, and extending interfaces in your Java programs
Class and object initialization in Java
Learn how to to initialize Java classes and objects for successful JVM execution
Java polymorphism and its types
Learn the four types of polymorphism in Java, then start using subtype polymorphism to execute different forms of the same Java method
Inheritance in Java, Part 2: Object and its methods
Get to know Java's Object superclass and its methods for duplicating, comparing, cleaning up, and scheduling Java objects
Inheritance in Java, Part 1: The extends keyword
Use Java's extends keyword to derive a child class from a parent class, invoke parent class constructors and methods, override methods, and more
Classes and objects in Java
Learn how to make classes, fields, methods, constructors, and objects work together in your Java applications.
Loop, switch, or take a break? Deciding and iterating with Java statements
Learn how to use standby statements like for, while, if-else, and break, then get started with the new switch expressions in Java 12
Evaluate Java expressions with operators
Everything you need to know about the Java operator types and using them to write and evaluate Java expressions in Java 12
Elementary Java language features
Learn three ways to document your code, then get started using identifiers, types, literals, and variables in Java 12
Learn Java from the ground up
If you're new to Java then you've come to the right place. Get an overview of the Java platform, then code your first application using Java 12 and the new Java Shell