Introduction to Java Programming - 35 Hour Online Class or 5 Day Classroom Workshop
Java Programming essentials for developers with experience in C, C++ or object-oriented concepts, and preferably some exposure to GUI design and event-driven programming. Roughly 60% of the class focuses on the Java 2 Platform, the Java language and object-programming in Java; the remainder focuses on Java GUI programming. Covers an overview of Java language, technology and programs and developing in Java, including the JVM and JDK; Java language basics; Object-Oriented Programming (OOP) overview and use of Objects in Java; Classes, Packages, Inheritance, and Polymorphism; Interfaces and GUIs in Java including Applets, Components, colors, fonts and borders; Event Handling in Java including concepts and techniques; Collections; Inner Classes; handling Runtime problems; Multi-Threading; Containers, Layout Managers and GUI applications.
|
|
Topic Summary | Print Version
Class Description:
This hands-on course teaches programmers the essentials of Java programming. It devotes roughly 60% of the time to the Java 2 Platform, the Java language and object programming in Java. These topics are essential to any further work in Java, whether in Swing, network programming, servlets and JSPs or Enterprise Java Beans. The remaining 40% of the course addresses GUI programming in Java through applets and stand-alone front-end applications.Audience: Java developers.Prerequisites: Programming experience. Experience in one or more of the following is required : C, C++, object-oriented concepts. Experience in GUI design and event driven programming is helpful.Mainframe programmers who do not possess one or more of the aforementioned skills should attend a customized re-skilling program offered by SkillBuilders or request the Java for Mainframe Developers course instead. |
Objectives: After completing this course a student should:
Look Inside This Book:
|
Topic Summary
- Introduction
- What is Java?
- Java the Language
- Impact of the JVM
- Java the Technology
- Java's Evolution
- Types of Java Programs
- Developing in Java
- The JDK
- JDK Documentation
- Java Language Basics
- Java vs. C / C++
- General Style
- Using Memory Variables
- Primitive Types
- Declaring Variables
- Literal Values
- Naming Variables
- Operators:
- Assignment
- Arithmetic
- Comparison
- Logical/Bitwise
- Shortcuts
- Casting
- Control Structures
- Arrays
- Console Applications
- Command-Line Arguments
- AutoBoxing/unboxing
- Enhanced for loops
- Object-Oriented Programming
- What on Earth IS OOP?
- An Object Hierarchy
- Classes vs. Instances
- Object Relationships
- Using Objects in Java
- Objects & Classes
- Class Members
- Object Notation
- The VM & Memory
- Types of Memory
- Creating Objects
- Constructors
- Working with Objects
- Copying / Comparing Objects
- The Object Class
- Destroying an Object
- Strings in Java
- Intro to Arrays
- Dates
- GregorianCalendar
- Creating Classes
- Java & Classes
- Anatomy of a Class
- General structure
- Declaring a Class
- Class Members
- Declaring Variables
- Local Variables
- Instance Variables
- Declaring Methods
- Naming Methods
- Method Overloading
- Declaring Constructors
- Explicit Constructors
- Destructors
- Tips on Clean-Up
- Self Reference
- The Current Instance
- Sibling Constructors
- Static Members
- The static Initializer
- Statics & this
- varargs
- Metadata – annotations
- Packages
- Java Packages
- Major Packages
- Using Packages
- import Statement
- Static imports
- Classpath
- Creating Packages
- The Package Assignment
- The Package Directory
- Inheritance
- Inheritance Overview
- Inheritance Terminology
- Inheritance in Java
- Inheritance & "Is a"
- Casting
- Downcasting
- Member Visibility
- Overriding Methods
- Using Ancestor Members
- Overridden Methods
- Using super
- Parent Constructors
- Controlling Subclassing
- Abstract
- Final
- Multiple Inheritance
- Polymorphism
- Polymorphism
- Late Binding
- Interfaces
- Defining an Interface
- Implementing an Interface
- Using an Interface
- Interfaces & "Is a"
- Interface Inheritance
- Marker Interfaces
- GUIs In Java
- Creating GUIs in Java
- GUI design Choices
- Applet Basics
- What is an Applet?
- The Applet Model
- Structure of an Applet
- Output from an Applet
- Component Basics
- GUIs in Java
- Designing GUIs in Java
- Components
- JButton
- JLabel
- Text Components
- JTextField
- JTextArea
- Colors, Fonts & Borders
- Colors in Java
- Component Colors
- Fonts in Java
- Component Fonts
- Getting a Font List
- Swing Borders
- Types of Borders
- Using Borders
- BorderFactory
- Event Handling in Java
- Event-Handling Concepts
- Java Event-Handling
- The Basic Technique
- Event Model Features
- Event Categories
- Event Classes
- Getting Event Information
- Event Listeners
- Adapter Classes
- Registering Listeners
- Event Handling Approaches
- Collections
- Collections in Java
- Generics
- Lists
- java.util.List Interface
- Using Lists
- Stack
- Maps
- Properties
- System Properties
- Setting System Properties
- Enumeration
- Getting an Enumeration
- Using Enumeration
- Typesafe Enumerations
- Iterator
- Inner Classes
- Overview of Inner Classes
- Types of Inner Classes
- Why Use Inner Classes?
- How Java Does It
- Static Classes / Interfaces
- Referring to Inner Classes
- Instance Classes
- A Tree Class
- Using Instance Inner Classes
- Instantiating an Inner Class
- Using this
- Local Classes
- Local Classes in Tree
- Using Local Classes
- Using Local Variables: Problem
- Using Local Variables: Solution
- Anonymous Classes
- Defining Anonymous Classes
- Constructor Arguments
- Using Anonymous Classes
- Handling Runtime Problems
- Runtime Problems
- Java Classes
- try / catch
- The catch Block
- The finally block
- Checked Exceptions
- Throwing Exceptions
- Rethrowing Exceptions
- Custom Exceptions
- Defining Exceptions
- Multi-Threading
- What is a Thread?
- Java and Multi-Threading
- The Thread Class
- Using Threads in Java
- Runnable
- Extend Thread
- Runnable Class
- Which Approach is Best?
- Synchronization
- Containers
- What's a Container?
- Basic Container Types
- Container Features
- Using a Container
- Getting Parentage
- Containers in Swing
- Swing Top-Level Containers
- Content Pane
- Using the Content Pane
- Layout Managers
- What is a Layout Manager?
- Using a Layout Manager
- FlowLayout
- Layout Managers Tour
- BorderLayout
- GridLayout
- Absolute Positioning
- GridBagLayout
- GUI Applications
- Standalone Containers
- Window Events
- JWindow
- JFrame
- JDialog
- Message Dialogs
- Information Dialogs
- Confirm Dialogs
- Menus
- Drop-Down Menus
- Menu Event Handling
- Pop-Up Menus
- Action Commands
- Where to Go With Java
- Core Techniques
- Support APIs
- Major APIs


