Course Overview

You will work with advanced features of Java.

Who Should Attend

This course is intended for individuals who are Java programmers and have worked with databases and with object-oriented programming techniques, who are now ready to create more complex and advanced programs using Java SE 7.

Course Objectives


  • create and manage custom classes.
  • control program flow by writing code to respond to specific criteria.
  • implement object-oriented programming techniques to create reusable and reliable programs.
  • work with Java utility class libraries.
  • use the capabilities of the Java I/O package to read and write data to external files or media.
  • use collection APIs in Java to manage data.
  • use generics to enforce compile-time type checking.
  • use multi-threaded programs to help handle multiple tasks concurrently.
  • manage Java applications for memory efficiency and create distributable versions of a Java application.

Course Outline

Basic

1 - A First Look

  • A Simple Java Class
  • Java’s “Hello World” Program
2 - Java Basics
  • Language and Platform Features
  • Program Life Cycle
  • The Java SE Development Kit (JDK)
3 - Class and Object Basics
  • The Object Model and Object-Oriented Programming
  • Classes, References, and Instantiation
  • Adding Data to a Class Definition
  • Adding Methods (Behavior)
4 - 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
  • Copes, Blocks, References to Objects
5 - Flow of Control
  • Branching: if, if-else, switch
  • Iteration: while, do-while, for, break, continue
6 - Strings and Arrays
  • String, StringBuffer, StringBuilder
  • Arrays, Primitive Arrays, Arrays of Reference Types
  • Varargs
7 - Packages
  • Package Overview - Using Packages to Organize Code
  • import statements
  • Creating Packages, package Statement, Required Directory Structure
  • Finding Classes, Packages and Classpath
8 - 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
9 - Interfaces Overview
  • Using Interfaces to Define Types
  • Interfaces and Abstract Classes
10 - Exceptions
  • Exceptions and the Exception Hierarchy
  • try and catch
  • Handling Exceptions
  • Program Flow with Exceptions
11 - JDBC
  • JDBC basics
  • JDBC Architecture
  • Using JDBC drivers & DriverManager
  • Class Connection and connecting to a database
  • Class Statement and executing SQL statements
  • Other statement types
12 - Java Collections and Generics
  • The Collections Framework and its API
  • Collections and Java Generics
  • Collection, Set, List, Iterator
  • Autoboxing
  • For-each Loop


Advanced

1 - Working with Classes
  • Create Classes
  • Create Variables
  • Write an Expression
  • Work with Arrays
  • Work with Static Class Members
  • Define Methods
  • Use Enumerated Data Types
2 - Controlling Program Flow
  • Work with Conditional Statements
  • Work with Looping Statements
  • Handle Exceptions
  • Handle Chained Exceptions
  • Write and Enable Assertions
3 - Implementing Object-Oriented Programming Concepts
  • Extend a Class
  • Overload and Override Methods
  • Work with Interfaces
  • Create Inner Classes
  • Examine Object-Oriented Design Concepts
4 - Working with Java Utility Class Libraries
  • Work with Strings
  • Format and Parse Strings
  • Work with Dates, Numbers, and Currencies
5 - Using the Java I/O Package
  • Work with the File Class
  • Work with Byte Streams
  • Work with Character Streams
  • Read Files
  • Write to a File
  • Manipulate I/O Objects
6 - Using Collections
  • Work with the Collection Interface
  • Work with the Set Collection
  • Work with List Collections
  • Work with Queues
  • Work with the Map Collection
  • Work with Collection Utilities
7 - Working with Generics
  • Declare Generics
  • Implement Generics
8 - Using Multi-Threaded Programs
  • Create a Multi-Threaded Program
  • Synchronize Threads
9 - Managing Java Applications
  • Implement Garbage Collection
  • Deploy a Java Application