Home About Courses Schedule Services Webinars Contact Search

Fast Track to Java 11 and OO Development

SEE SCHEDULE

Duration: 5.0 days

Method: Instructor-led. Hands-on Workshops (50% of course)

Price: $2750.00

Course Code: JA1100


Description

Fast Track to Java and OO Development provides a comprehensive introduction to Java. 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.

Objectives

Upon successful completion of this course, the student will be able to:

  • Understand Java’s importance, uses, strengths and weaknesses
  • Understand the release cycle and Long Term Support (LTS) releases
  • Understand Java language basics
  • Write, compile, and run Java programs
  • Use the Java shell (JShell - Java 9+) for interactive programming
  • Understand the Object Model and Object Oriented Programming
  • Understand and use classes, inheritance, polymorphism
  • Create well designed classes and use them in your Java programs
  • Use composition and delegation to create objects from other objects
  • Understand & use packages to organize code
  • Understand and use Java 9 modules
  • Understand interfaces, their importance, and their uses
  • Use interfaces to implement abstraction
  • Learn good Java coding style
  • Create well structured Java programs
  • Compile and execute programs with the JDK development tools and with an Integrated Development Environment (IDE) of your choice
  • Use the core Java libraries (java.lang, java.util)
  • Understand & use exceptions for error handling
  • Understand the basics of using JDBC and JPA, and use them to access databases from Java
  • Use the Java Collections Framework including new API introduced in Java 9-11
  • Use other new features such as type inference
  • Be aware of, and use the new features of Java 9-11, as well as important advanced features of earlier Java versions
  • Understand and use basic I/O streams (Optional)

Prerequisites

No programming experience necessary.

Topics

  • I. A First Look
    • A Simple Java Class
    • Java’s “Hello World” Program
  • II. The Java Shell (REPL)Java Basics
    • Language and Platform Features
    • The Java Release Cycle
    • Program Life Cycle
    • The Java SE Development Kit (JDK)
  • III. Class and Object Basics
    • The Object Model and Object-Oriented Programming
    • Classes, References, and Instantiation
    • Adding Data to a Class Definition
    • Adding Methods (Behavior)
  • IV. More on Classes and Objects
    • Accessing data, the "this" variable
    • Encapsulation and Access Control, public and private Access
    • Constructors and Initialization
    • static Members of a Class
    • Type Inference (Java 10+)
    • Scopes, Blocks, References to Objects
    • Type-safe Enums
  • V. Flow of Control
    • Branching: if, if-else, switch
    • Iteration: while, do-while, for, break, continue
  • VI. Strings, Arrays, and Dates/Times
    • String, StringBuffer, StringBuilder
    • Arrays, Primitive Arrays, Arrays of Reference Types
    • varargs
    • LocalDate/LocalTime (Java 8+)
  • VII. Packages and Modules
    • Package Overview - Using Packages to Organize Code
    • import statements
    • Creating Packages, package Statement, Required Directory Structure
    • Java 9 Module Overview
    • Defining Modules, Requires, and Exports
    • Module Path and Classpath - Differences and Coexistence
  • VIII. Composition and Inheritance
    • Using Composition to Deal With Complexity
    • Composition/HAS-A, Delegation
    • Using Inheritance and Polymorphism to share commonality
    • IS-A, extends, Inheriting Features, Overriding Methods, Using Polymorphism
    • Class Object
    • Abstract Classes
  • IX. Interfaces
    • Using Composition to Deal With Complexity
    • Composition/HAS-A, Delegation
    • Using Inheritance and Polymorphism to share commonality
    • IS-A, extends, Inheriting Features, Overriding Methods, Using Polymorphism
    • Class Object
    • Abstract Classes
  • X. Exceptions
    • Exceptions and the Exception Hierarchy
    • try and catch
    • Handling Exceptions
    • Program Flow with Exceptions
    • finally
  • XI. Java Collections and Generics
    • The Collections Framework and its API
    • Collections and Java Generics
    • Collection, Set, List, Map, Iterator
    • Autoboxing
    • Collections of Object (non-generic)
    • Using ArrayList, HashSet, and HashMap
    • for-each Loop
    • Processing Items With an Iterator
    • More About Generics
  • XII. Database Access with JDBC and JPA
    • JDBC Overview
      • JDBC Architecture and API
      • Using DriverManager, Connection, Statement and ResultSet
    • JPA Overview
      • JPA Architecture and Programming View
      • Entity Classes and Annotations
      • Mapping an Entity Class
      • EntityManagerFactory and EntityManager
      • Working with JPA (Find by primayry key and inserts)
  • XIII. Additional Java Features
    • Annotations
    • Lambda Expressions and Method References (Java 8+)
    • Additional Features
  • XIV. I/O Streams (Optional)
    • Readers and Writers
    • Filter Streams
    • Byte Streams
    • Formatted Output
    • The File Class
    • New I/O (NIO) APIs