Course duration
- 5 days
Course Benefits
- Chiefly, learn to program effectively in the Java language.
- Understand Java as a purely object-oriented language, and implement software as systems of classes.
- Implement and use inheritance and polymorphism, including interfaces and abstract classes.
- Design appropriate exception handling into Java methods, and use the logging API appropriately.
- Use Java as a functional language, making appropriate choices of tools including inner classes, functional interfaces, method references, and lambda expressions.
- Use the Stream API for efficient processing of data sets.
Available Delivery Methods
Public Class
Public expert-led online training from the convenience of your home, office or anywhere with an internet connection. Guaranteed to run .
Public expert-led online training from the convenience of your home, office or anywhere with an internet connection. Guaranteed to run .
Private Class
Private classes are delivered for groups at your offices or a location of your choice.
Private classes are delivered for groups at your offices or a location of your choice.
Course Outline
- Review of Java Fundamentals
- The Java Architecture
- Forms for Java Software
- Three Platforms
- The Java Language
- Numeric Types
- Characters and Booleans
- Enumerations
- Object References
- Strings and Arrays
- Conditional Constructs
- Looping Constructs
- Varargs
- Object-Oriented Software
- Complex Systems
- Abstraction
- Classes and Objects
- Responsibilities and Collaborators
- UML
- Relationships
- Visibility
- Classes and Objects
- Java Classes
- Constructors and Garbage Collection
- Naming Conventions and JavaBeans
- Relationships Between Classes
- Using this
- Visibility
- Packages and Imports
- Overloading Methods and Constructors
- JARs
- Inheritance and Polymorphism in Java
- UML Specialization
- Extending Classes
- Using Derived Classes
- Type Identification
- Compile-Time and Run-Time Type
- Polymorphism
- Overriding Methods
- The @Override Annotation
- Superclass Reference
- Using Classes Effectively
- Class Loading
- Static Members
- Statics and Non-Statics
- Static Initializers
- Static Imports
- Prohibiting Inheritance
- Costs of Object Creation
- Strings and StringBuffers
- Controlling Object Creation
- Understanding Enumerated Types
- Stateful and Behavioral Enumerations
- Interfaces and Abstract Classes
- Separating Interface and Implementation
- UML Interfaces and Realization
- Defining Interfaces
- Implementing and Extending Interfaces
- Abstract Classes
- Collections
- Dynamic Collections vs. Arrays
- UML Parameterized Type
- Generics
- Using Generics
- The Collections API
- The Collection<E> and List<E> Interfaces
- The ArrayList<E> and LinkedList<E> Classes
- Looping Over Collections: Iterable<E>
- Collecting Primitive Values: Auto-Boxing
- Using Wildcards with Generic Types
- Iterators and the Iterator<E> Interface
- Maps and the Map<K,V> Interface
- Sorted Collections
- The SortedSet<E> and SortedMap<K,V> Interfaces
- The Collections Class Utility
- Algorithms
- Conversion Utilities
- Exception Handling and Logging
- Reporting and Trapping Errors
- Exception Handling
- Throwing Exceptions
- Declaring Exceptions per Method
- Catching Exceptions
- The finally Block
- Catch-and-Release
- Chaining Exceptions
- try-with-resources
- Logging
- The Java SE Logging API
- Loggers
- Logging Levels
- Handlers
- Configuration
- Best Practices
- Nested Classes
- Nested Classes
- Static Classes
- Inner Classes
- Relationship with the Outer Object
- Local Classes
- Enclosing Scope
- Anonymous Classes
- Functional Programming
- Passing Behavior as a Parameter
- Inner Classes
- Functional Interfaces
- Built-In Functional Interfaces
- Lambda Expressions
- Scope and Visibility
- Deferred Execution
- Method References
- Creational Methods
- Designing for Functional Programming
- Default Methods
- Streams
- The Stream Processing Model
- Streams
- Relationship to Collections
- Advantages and Disadvantages
- Iterating, Filtering, and Mapping
- Primitive-Type Streams
- Aggregate Functions and Statistics
- Sorting
- Generating, Limiting, and Reducing
- Finding and Matching
- Grouping
- Flattening and Traversing
- Sequential vs. Parallel Processing
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Class Prerequisites
Experience in the following is required for this Java class:
- Students must be able to write, compile, test, and debug simple Java programs, using structured programming techniques, strong data types, and flow-control constructs such as conditionals and loops.
Prerequisite Courses
Courses that can help you meet these prerequisites:
Follow-on Courses
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.