Java Training Overview
Appextech's Intermediate Java™ Programming training course teaches Java developers advanced object-oriented concepts, collections, logging, file I/O, unit testing, and a wide variety of other valuable Java skills.
Java Training Objectives
- 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.
- Use the standard logging API to write diagnostic information at runtime.
- Understand the structure of streams in Java, and learn how to use streams to manage file I/O.
- Learn how to use Java Serialization to internalize and externalize potentially complex graphs of objects.
Java Training 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
- The J2SE Logging API
- Severity Levels
- Log Hierarchies
- Inner Classes
- Passing Behavior
- Inner Classes in GUI Programming
- Named Inner Classes
- Outer Object Reference
- Static Inner Classes
- Anonymous Inner Classes
- The Java Streams Model
- Delegation-Based Stream Model
- InputStream and OutputStream
- Media-Based Streams
- Filtering Streams
- Readers and Writers
- Working with Files
- File Class
- Modeling Files and Directories
- File Streams
- Random-Access Files
- Advanced Stream Techniques
- Buffering
- Data Streams
- Push-Back Parsing
- Byte-Array Streams and String Readers and Writers
- Java Serialization
- The Challenge of Object Serialization
- Serialization API
- Serializable Interface
- ObjectInputStream and ObjectOutputStream
- The Serialization Engine
- Transient Fields
- readObject and writeObject
- Externalizable Interface
- Automated Unit Testing with JUnit
- Automated Testing
- JUnit and Related Tools
- The @Test Annotation
- The Assert Class Utility
- Test Runners
- Lifecycle Methods
|