Session: Java: A First Look
Lesson: The Java Platform
- Java Platforms
- Lifecycle of a Java Program
- Responsibilities of JVM
- Documentation and Code Reuse
Lesson: Using the JDK
- Setting Up Environment
- Locating Class Files
- Compiling Package Classes
- Source and Class Files
- Java Applications
- Lab: Exploring MemoryViewer
- Lab: Exploring ColorPicker
Lesson: The Eclipse Paradigm
- Workbench and Workspace
- Views
- Editors
- Perspectives
- Projects
- Tutorial: Working with Eclipse Oxygen
Session: Getting Started with Java
Lesson: Writing a Simple Class
- Classes in Java
- Class Modifiers and Types
- Class Instance Variables
- Primitives vs. Object References
- Creating Objects
- Lab: Create a Simple Class
Lesson: Adding Methods to the Class
- Passing Parameters Into Methods
- Returning a Value from a Method
- Overloaded Methods
- Constructors
- Optimizing Constructor Usage
- Lab: Create a Class with Methods
Lesson: Language Statements
- Operators
- Comparison and Logical Operators
- Looping
- Continue and Break Statements
- The switch Statement
- The for-each() Loop
- Lab: Looping
Lesson: Using Strings
- Strings
- String Methods
- String Equality
- StringBuffer
- StringBuilder
- Lab: Fun with Strings
- Lab: Using StringBuffers and StringBuilders
Lesson: Specializing in a Subclass
- Extending a Class
- Casting
- The Object Class
- Default Constructor
- Implicit Constructor Chaining
- Lab: Creating Subclasses
Session: Essential Java Programming
Lesson: Fields and Variables
- Instance vs. Local Variables: Usage Differences
- Data Types
- Default Values
- Block Scoping Rules
- Final and Static Fields
- Static Methods
- Lab: Field Test
Lesson: Using Arrays
- Arrays
- Accessing the Array
- Multidimensional Arrays
- Copying Arrays
- Variable Arguments
- Lab: Creating an Array
Lesson: Java Packages and Visibility
- Class Location of Packages
- The Package Keyword
- Importing Classes
- Executing Programs
- Java Naming Conventions
Session: Next Level Java Programming
Lesson: Inheritance and Polymorphism
- Polymorphism: The Subclasses
- Upcasting vs. Downcasting
- Calling Superclass Methods from Subclass
- The final Keyword
- Lab: Salaries - Polymorphism
Lesson: Interfaces and Abstract Classes
- Separating Capability from Implementation
- Abstract Classes
- Implementing an Interface
- Abstract Classes vs. Interfaces
- Lab: Mailable - Interfaces
Lesson: Exceptions
- Exception Architecture
- Handling Multiple Exceptions
- Automatic Closure of Resources
- Creating Your Own Exceptions
- Throwing Exceptions
- Checked vs. Unchecked Exceptions
- Lab: Exceptions
Session: Collections and Generics
Lesson: Introduction to Generics
- Generics and Subtyping
- Bounded Wildcards
- Generic Methods
- Legacy Calls to Generics
- When Generics Should Be Used
- Exercise: ShoppingCart
Lesson: Collections
- Characterizing Collections
- Collection Interface Hierarchy
- Iterators
- The Set Interface
- The List Interface
- Queue Interface
- Map Interfaces
- Using the Right Collection
- Collections and Multithreading
- Lab: Collections Poker