Course Length: 5 days

Course Overview

Fast Track to Java and OO Development provides a comprehensive introduction to Java. It is suitable for programmers with good working programming experience (no Java experience needed). It can be taught to audiences with less experience by reducing coverage of the optional, more advanced, topics. In addition to covering basic Java programming, the course provides a solid understanding of the core OO and Java concepts and practices needed to create well-designed Java programs. This includes creating well-designed Java classes, encapsulation, composition, and inheritance/interfaces. The material and labs include coverage of useful new Java capabilities such as the new Java 9 module structure, type inference (Java 10-11), and API enhancements. It also introduces important APIs such as the Java Collections Framework, and JDBC/JPA. This course is suitable for environments using Java 9-11. It also covers details of the Java release cycle, and Long Term Support (LTS) releases.

Course Outline

Java Overview

  • A Simple Java Program
  • Language and Platform Features
  • Program Life Cycle
  • The Java Development Kit (JDK)

Class and Object Basics

  • Object-Oriented Programming Overview
  • Classes, References, and Instantiation
  • Data and Methods in a Class

Classes and Objects in Detail

  • More about Methods
  • Encapsulation and Access Control
  • Constructors
  • Static or Class Members

Flow of Control

  • Branching Statements
  • Iteration Statements

More on Classes and Objects

  • Type-Safe Enums
  • Wrapper Classes
  • Date/Time Support
  • Working With References

Strings and Arrays

  • String and StringBuffer/StringBuilder
  • Arrays

Packages and Modules

  • Packages Overview
  • Creating Packages
  • Introduction to Modules
  • Classpath and Migration

Composition and Inheritance

  • Composition
  • Inheritance
  • Overriding and Polymorphism
  • class Object
  • Abstract Classes
  • Interface Basics
  • Default Methods and static Methods

Exceptions

  • Overview
  • Throwing Exceptions
  • Handling Exceptions

Collections and Generics

  • Collections Overview
  • Lists, Sets, and Maps
  • More about Generics

Database Access with JDBC and JPA

  • JDBC Overview
  • JPA Overview
  • Brief Annotations Overview
  • Working with JPA

Additional Language Features

  • Lambda Expressions (Java 8+)
  • Other Java Features

(Optional) I/O Streams

  • Decorator Pattern
  • Working with Java I/O
  • Working with Files and NIO