Object-Oriented Programming with Java

Home Resources Feedback Search Contents



Get Java Now

Object-Oriented Programming With Java

This intensive SoftMoore course provides a solid foundation for developing object-oriented software using Java. Assuming a basic familiarity with object-oriented concepts, the course guides participants through the Java language and its library API. The major emphasis of this course is on the most effective use of the Java language features, presented in the context of modern software engineering themes of modularity, abstraction, encapsulation, and reusability. Fundamental principles of object-oriented design and programming are stressed while covering the latest Java 2 Platform enhancements.  The course uses a hands-on workshop approach with numerous examples and programming exercises to illustrate and reinforce basic concepts. Lectures are interspersed with programming exercises that require participants to design, compile, run, test, and debug complete Java programs.
This workshop is designed for software professionals who wish to exploit the power and flexibility of Java for creating enterprise applications and applets.  This is not a gentle overview of Java for the casual programmer or non-technical manager. Participants should have strong programming experience plus basic familiarity with object-oriented concepts.
Recommended Duration:
5 Days
Course Materials:
Each participant will receive a complete set of all course materials including course notes, programming exercises and solutions, and a copy of a current Java programming textbook.

Course Outline

Introduction to Java
The Role of Programming Languages
Java Terms and Technology
Compiling and Running Java Programs
Fundamental Programming Structures
Primitive Data Types
Java Operators
Control Flow
Arrays and Strings
Class Methods
Objects and Classes
Classes, Fields, and Methods
Objects versus Object References
Access Modifiers
Overloading Methods
Static Members
Inner Classes
Inheritance and Polymorphism
Inheritance Hierarchies
Substitution Under Inheritance
Constructors and Inheritance
Run-Time Type Identification
Final Classes and Methods
Abstract Classes and Interfaces
Collection Classes
The Core Collections Interfaces
Concrete Implementations
Iterators and Enumerations
The Collections Framework
Fundamental Algorithms
The Collections Class
Object-Oriented Design for Java
Identifying Objects and Classes
Relationships Between Objects
Brief Introductions to UML Notation
Steps in Object-Oriented Design
Classification of Methods
Exceptions and Error Handling
Classification of Exceptions
Exception Handlers
Creating and Throwing Exceptions
Propagation of Exceptions
Exception Specifications
Debugging Techniques
Event Handling
Event Objects
Listener Interfaces
Registering Listeners with Event Sources
User Interface Components
Swing versus AWT
The Model-View-Controller Design Pattern
Frames and Graphics Programming
Layout Managers
Dialog Boxes
Basic UI Components
Creating Applets
Applet HTML Tags and Attributes
Passing Information to Applets
Streams and Files
Byte Steams and Character Streams
Stream Chaining
Directories and File Management


Send mail to with questions or comments about this web site.
Last modified: June 1, 2004