Class Learning Objectives:
- Understand Java’s importance, uses, strengths and weaknesses
- Understand Java language basics
- Write, compile, and run Java programs
- 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 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
- Be aware of, and use the new features of Java 7
- Understand and use basic I/O streams (Optional)
Class Duration: 5 days
Hands-on: 50% hands-on, 50% lecture
Supported Platforms: Java 7, Eclipse, IBM RAD (8.0+), Eclipse
Class Outline:
Session 1: A First Look
- A Simple Java Class
- Java’s “Hello World” Program
LABS:
• Hello World: A Simple Application
Session 2: Java Basics
- Language and Platform Features
- Program Life Cycle
- The Java SE Development Kit (JDK)
LABS:
• Working with the Development Environment
Session 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)
LABS:
• Exploring Types and Object Instances
• Writing and Using a Class Definition with Fields and Methods
Session 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 - Scopes, Blocks, References to Objects
LABS:
• Encapsulation / Access Protection
• Writing and Using Constructors
• (Optional) Static Members
• Using the Debugger
Session 5: Flow of Control
- Branching: if, if-else, switch Iteration: while, do-while, for, break, continue
LABS:
• Flow of Control / Data Validation
Session 6: Strings and Arrays
- String, StringBuffer, StringBuilder
- Arrays, Primitive Arrays, Arrays of Reference Types
- Varargs
LABS:
• Using Strings and Arrays
Session 7: Packages
- Package Overview – Using Packages to Organize Code
import statements - Creating Packages, package Statement, Required Directory Structure
- Finding Classes, Packages and Classpath
LABS:
• Using Packages to Organize Code
Session 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
LABS:
• (Optional) Working with Composition
• Using Inheritance to Specialize Classes
Session 9: Interfaces
- Using Interfaces to Define Types
- Interfaces and Abstract Classes
LABS:
• Using Interfaces to Remove Implementation Dependencies
Session 10: Exceptions
- Exceptions and the Exception Hierarchy
try and catch - Handling Exceptions
- Program Flow with Exceptions finally
LABS:
• Throwing and Handling Exceptions
Session 11: 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
LABS:
• Using Lists and Generics
• Using Sets
Session 12: Database Access with JDBC and JPA
- JDBC Overview
- JDBC Architecture and API
- Using DriverManager, Connection, Statement and ResultSet
- 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)
LABS:
• Mapping an Entity Class
• Working with JPA
Session 13: Additional Java Features
- Assertions
- Type-safe Enums
- Annotations
- Additional Features
- Session 14: I/O Streams (Optional)
- Readers and Writers
- Filter Streams
- Byte Streams
- Formatted Output
- New I/O (NIO) APIs
LABS:
• Formatting Output
To Hire a proven AMS Java SE 7 Developer Subject Matter Expert who also teaches this class, Call 800-798-3901 Today