1000 - Java 8 Programming and Object Oriented Essentials for Developers New to OO

1000 - Java 8 Programming and Object Oriented Essentials for Developers New to OO

Length : 5 days

This course is geared for developers who have little or no prior working knowledge of object-oriented (OO) programming languages (such as C, COBOL, 4GL, and so forth). Throughout the course, you will learn the best practices for writing great OO programs in Java 8, using sound development techniques, improved features for better performance, and new capabilities for addressing rapid application development. Special emphasis is placed on OO concepts and best practices.

What You'll Learn

  • OO programming and its advantages in today's world
  • Objects, classes, and OO implementations
  • Basic concepts of OO such as encapsulation, inheritance, polymorphism, and abstraction
  • Fundamentals of the Java language, its importance, uses, strengths, and weaknesses
  • How Java language relates to OO programming and the object model
  • Use classes, inheritance and polymorphism
  • Use collections, generics, autoboxing, and enumerations
  • Use Lambda expressions
  • Use the stream application programming interface (API)
  • Discover the new date/time API
  • Use the Java Database Connectivity (JDBC) API for database access
  • Work with annotations
  • Java tooling

Specific Java 8 features that are covered in the course include:

  • The new date/time API
  • Lambda expressions
  • Method and constructor references
  • The stream API
  • Collectors
  • The optional class

Who Should Attend

Developers who wish to use Java or who need to reinforce sound OO Java coding practices

Course outline

1. Java 8: A First Look
The Java Platform Java Platforms
Lifecycle of a Java Program
Responsibilities of JVM
Documentation and Code Reuse

Using the JDK Setting up Environment
Locating Class Files
Compiling Package Classes
Source and Class Files
Java Applications

The Eclipse ParadigmWorkbench and Workspace

2. OO Concepts
Object-Oriented ProgrammingReal-World Objects
Classes and Objects
Object Behavior
Methods and Messages

Inheritance, Abstraction, and Polymorphism Encapsulation
Method Overriding

3. Getting Started with Java
Writing a Simple ClassClasses in Java
Class Modifiers and Types
Class Instance Variables
Primitives vs. Object References
Creating Objects

Adding Methods to the ClassPassing Parameters into Methods
Returning a Value from a Method
Overloaded Methods
Optimizing Constructor Usage

Language Statements Operators
Comparison and Logical Operators
Continue and Break Statements
The Switch Statement
The For-Each() Loop
For-Each Loop Restrictions

Using Strings Strings
String Methods
String Equality
Java 8: String Joiner

Specializing in a SubclassExtending a Class
The Object Class
Default Constructor
Implicit Constructor Chaining

4. Essential Java Programming
Fields and VariablesInstance vs. Local Variables: Usage Differences
Data Types
Default Values
Block Scoping Rules
Final and Static Fields
Static Methods

Using ArraysArrays
Accessing the Array
Multidimensional Arrays
Copying Arrays
Variable Arguments

Java Packages and VisibilityClass Location of Packages
The Package Keyword
Importing Classes
Executing Programs
Java Naming Conventions

5. Advanced Java Programming
Inheritance and PolymorphismPolymorphism: The Subclasses
Upcasting vs. Downcasting
Calling Superclass Methods from Subclass
The Final Keyword

Interfaces and Abstract ClassesSeparating Capability from Implementation
Abstract Classes
Implementing an Interface
Abstract Classes vs. Interfaces

Exceptions Exception Architecture
Handling Multiple Exceptions
Automatic Closure of Resources
Creating Your Own Exceptions
Throwing Exceptions
Checked vs. Unchecked Exceptions

6. Java Developer's Toolbox
Utility Classes Wrapper Classes
The Number Class
Random Numbers
The Date Class

Enumerations and static importsEnumeration Syntax
When You Should Use Enumerations
Using Static Imports
When You Should Use Static Imports

Java 8 - The Date/Time APIThe Core Date/Time classes
Formatting Dates
Working with Time Zones
Manipulate Date/Time Values

7. Collections and Generics
Generics Generics and Subtyping
Bounded Wildcards
Generic Methods
Legacy Calls to Generics
When Generics Should Be Used

Collections Characterizing Collections
Collection Interface Hierarchy
The Set Interface
The List Interface
Queue Interface
Map Interfaces
Using the Right Collection
Collections and Multithreading

8. Lambda and Streams
Java 8: Introduction to LambdaFunctional vs OO Programming
Anonymous Inner-classes
Lambda Expression Syntax
Functional Interfaces
Method references
Constructor references

Java 8: StreamsProcessing Collections of data
The Stream interface
Reduction and Parallelism
Filtering collection data
Sorting Collection data
Map collection data
Find elements in Stream
Numeric Streams
Create infinite Streams
Sources for using Streams

Java 8: CollectorsCreating Collections from a Stream
Group elements in the Stream
Multi-level grouping of elements
Partitioning Streams

9. Java Application Development
Introduction to AnnotationsAnnotations Overview
Working with Java Annotations

JDBCConnecting to the Database
Statement and PreparedStatement
Executing Inserts, Updates, and Deletes
Controlling Transactions and Concurrency


Class Dates:

Classes being scheduled,
call 1-800-755-0142 or

Contact Us with your request.

On Site Class Available

ExpertONE Learning Solutions Provider Microsoft Certified Partner Logo GSA Advantage