WA1278 Introduction to Java using Eclipse Training and Courseware 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 Eclipse
|
|
- Objectives
- 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
- Configure 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
- 'set' Methods in Constructors
- 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 - JDBC
- Naming - JNDI
- Management - JMX
- 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
|
| |