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