After completing this course, the student should be able to:
- Apply OOP principles
- Design OO applications using abstraction, encapsulation, modularity and hierarchy
- Use Java exceptions to guarantee graceful error recovery for your application
- Create and use inner classes in your program to make them concise and clear
- Do input/output using Java
- Create servlets and JavaServer Pages
- Use RAD for Java application development
WebSphere Training Practical Work
Extensive practical exercises take students through all major aspects of the design and development of Java programs. Students will be introduced to various wizards and tools available from RAD.
WebSphere Training Topics
- Java basics
- Basic introduction to Rational Application Developer
- Branching and looping
- Objects
- Advanced class concepts
- Arrays
- Exceptions
- Collections and Generics
- Stream I/O
WebSphere Training Course duration
5 days
WebSphere Training Course outline
1. Overview of Java
- Objectives
- History Of Java
- Benefits Of Java
- What Is Java?
- What's This "Virtual Machine"?
- Java Programs
- Basic Java Development Tools
- Java Editions
- Example - HelloWorld
- Java Classes
- Main Methods
- Statements
- Summary
2. Java Tools in RAD
- Objectives
- Intro to RAD
- Eclipse Platform
- Eclipse Workspace
- Perspectives, Views & Editors
- Basic Operations with Eclipse Views and Perspectives
- The Java Perspective
- The Debug Perspective
- Navigator View
- Package Explorer
- Outline View
- Task and Problems View
- Build and Validation
- Code Completion, Templates and Snippets
- Searching
- Setup Compiler Class Path
- JRE Switching
3. Basic Object Concepts
- Objectives
- What Is An Object?
- State
- Behavior
- Encapsulation
- Encapsulation Examples
- Classes vs. Objects
- Inheritance
- Interfaces
- Polymorphism
- Benefits Of Objects
- Summary
4. Basic Java Syntax
- Objectives
- Declaring And Initializing Variables
- Keywords
- Coding Tips Variables
- Primitive Data Types
- Logical - boolean
- Textual - char and String
- Integral - byte, short, int, long
- Floating Point - float and double
- Literal Values
- Strings
- Creating Strings
- White Space
- Comments
- Coding Tips - Comments
- Java Statements
- Coding Tips - Statements
- Scope of a Variable
- System.out/System.in
- Scanner Class
- Summary
5. Operations and Making Decisions
- Objectives
- Operator Categories
- Special Situations
- Binary Operators
- Integer Division
- Numeric Promotion
- Type Conversion Of Primitive Types
- Unary Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Bitwise Examples
- Shift Operators
- Overflow And Underflow
- Assignment Operators
- Ternary Operator
- Calculation Errors
- Operator Precedence
- Precedence Examples
- Combining Strings
- Coding Tips - Operators
- Control Flow Statements
- 'if' Statement
- 'if else' Statement
- Nested Statements
- "Short Circuited" Operators
- Coding Tips - if & if-else
- Summary
6. Using Classes and Objects
- Objectives
- Objects, Instances, And Classes
- What Are Classes?
- Working With Classes And Objects
- Instantiation
- Instance Methods
- Object References
- String Operations
- The Math Class
- Summary
7. Writing Classes
- Objectives
- Why Define Your Own Classes?
- Encapsulation
- Elements Of A Class
- Defining Classes
- Coding Tips - Class Definitions
- Fields
- Defining Fields
- Coding Tips - Fields
- Methods
- Defining Methods
- Passing Parameters
- Overloading Methods
- Coding Tips - Methods
- Local Variables vs. Instance Variables
- Example - Defining a Class
- Example - Fields
- Example - Defining a Method
- Example - Calling a Method
- Summary
8. Controlling Code Access and Code Organization
- Objectives
- Controlling Access
- Data Hiding
- Encapsulation
- JavaBeans
- Packages
- Problems Solved With Packages
- Naming Packages
- Declaring Packages In Classes
- Package Access
- Example - Access Modifiers
- Import Statement
- Using Classes From Packages
- Coding Tips - Import Statements
- Correlation To File Structure
- Class Path
- Java Core Packages
- Java API Documentation
- Summary
9. Constructors and Class Members
- Objectives
- Constructors
- Multiple Constructors
- Defining Constructors
- Default Constructor
- Example - Calling Constructors
- 'this' Keyword
- Using 'this' to Call a Constructor
- Using 'this' to Set a Field
- Class Members
- Examples Of Class Members
- Comparison With Instance Members
- Use Of Class Variables
- Static Class Methods
- Use Of Class Methods
- Main Method And Command Line Arguments
- Declaring Constants
- Coding Tips - Class Members
- Useful Standard Class Members
- Initialization Blocks
- Static Initialization Blocks
- Summary
10. Advanced Control Structures
- Objectives
- 'switch' Statement
- Example - switch
- Switch "Fall Through"
- 'for' Loop
- Example - for
- 'while' Loop
- Example - while
- 'do while' Loop
- Example - do while
- Break Statement
- Example - break
- Labeled Statements
- Example - Labeled break
- Continue Statement
- Example - continue
- Example - Labeled continue
- Coding Tips - Control Structures
- Summary
11. Arrays
- Objectives
- Arrays
- Declaring Arrays
- Populating Arrays
- Accessing Arrays
- Array Length
- Coding Tips - Arrays
- Array References
- Multidimensional Arrays
- Arrays Of Arrays
- Copying Arrays
- For-Each loop
- Variable Arguments
- Variable Arguments Example
- Summary
12. Inheritance
- Objectives
- Inheritance Is
- Inheritance Examples
- Declaring Inheritance
- Inheritance Hierarchy
- Access Modifiers Revisited
- Inherited Members
- Instances Of A Subclass
- Example Of Inheritance
- Role In Reuse
- The super Keyword
- Example - super Keyword
- Problems with Constructors
- Limiting Subclasses
- The Object Class
- Summary
13. Commonly Overridden Methods
- Objectives
- Overriding Methods
- toString()
- toString() in Object
- Overriding toString()
- Comparing Objects
- Using == vs. equals(..)
- Overriding equals(..)
- Complex Comparisons
- equals(..) Example
- hashCode()
- Overriding hashCode()
- hashCode() Example
- Refactoring
- Changing Class Name
- Changing Method Name
- Changing Variable Name
- Generalizing a Variable
- Moving a Class to a Different Package
- Extracting Code to a Method
- Pull-up and Push-down Methods
14. Exceptions
- Objectives
- What is an Exception
- Benefits
- The Exception Class
- How to Work With Exceptions
- Example Exception Handling
- The try-catch-finally Statement
- Flow of Program Control
- Exception Hierarchy
- Checked Exceptions
- Unchecked Exceptions
- Coding Tips - Exception Types
- Catching Multiple Exceptions
- Specifying Thrown Exceptions
- Rethrowing Exceptions
- Chaining Exceptions
- Creating your Own Exception
- Summary
15. Interfaces and Polymorphism
- Objectives
- Casting Objects
- The instanceof Operator
- Abstract Classes
- Abstract Class An Example
- Interface
- Interface An Example
- Comparable Interface
- Comparable Example
- Coding Tips - Superclass or Interface?
- Polymorphism
- Conditions for Polymorphism
- Coding Tips - Leveraging Polymorphism
- Covariant Return Types
- Summary
16. Collections and Generics
- Objectives
- What are Collections?
- Arrays vs. Collections
- Main Collections Interfaces
- java.util.Collection
- Main Collection Methods
- Sets
- java.util.List
- java.util.Queue
- Iteration on a Collection
- Iterator vs. For-Each Loop
- Maps
- java.util.Map
- java.util.SortedMap
- Collections Implementations
- Generics
- Generics and Collections
- Generic Collection Example
- Collections and Primitive Types
- "Wrapper" Classes
- Autoboxing
- Summary
17. Useful Java Classes
- Objectives
- Java Logging API
- Control Flow of Logging
- Logging Levels
- Logging Handlers
- Loggers
- Logging Example
- Logging Formatters & Log Manager
- Logging Configuration File
- Example Logging Configuration File
- Logging Filters
- java.lang.StringBuilder
- java.util.StringTokenizer
- java.util.Arrays & java.util.Collections
- java.util.Random
- java.util.Date
- GregorianCalendar & Calendar
- Formatting
- Formatting Example
- Summary
18. Input and Output
- Objectives
- Overview of Java Input/Output
- Streams
- Input Stream
- Output Stream
- "Chained" Streams
- The File Class
- File Example
- RandomAccessFile
- Reader and Writer
- Buffers
- Channels
- Serialization
- Serializing Object State
- Avoiding Serialization Problems
- serialVersionUID
- Options to Write Files
- Using Streams - Write Example
- Using Streams - Read Example
- Using Readers and Writers - Write Example
- Using Readers and Writers - Read Example
- Using Readers and Writers - Scanner Read Example
- Using Buffers and Channels - Write Example
- Using Buffers and Channels - Read Example
- Summary
19. Other Java Concepts
- Objectives
- Annotations
- Enumerated Types
- Garbage Collection
- JVM Storage Areas
- Assertions
- Assertions Example
- When to use Assertions
- Enabling Assertions
Appendix A. Overview of Java SE APIs
- Objectives
- Java GUI Programming
- Image I/O
- Networking
- Remote Method Invocation
- Security
- Databases
- Naming
- Management
- XML
- Printing
- Summary
Appendix B. Overview of Java EE
- Objectives
- Goals of Enterprise Applications
- What is Java?
- What is Java EE?
- The Java EE Specifications
- Versions
- Role of Application Server
- Java EE Components
- What is a Servlet?
- Servlet Execution
- What is a JSP?
- JSP Code Sample
- What is an EJB?
- EJB Types
- Java Persistence API
- EJB Examples
- Web Browser
- Applet
- Application Client
- Model-View-Controller Architecture
- MVC An Example
- Java EE Vendor Specifications
- Containers
- Java EE Blueprint
- Java EE Application Structure
- EAR File
- What are Modules?
- Java EE Deployment Descriptors
- Web Module
- EJB Module
- Client Module
- Summary