SkillBuilders Welcome  |  Log in
All Java Classes

Gentle Java and OO Development

4 Day Onsite or 28 Hour Online Hands-On Training.

Gentle Java and OO Development training is geared to audiences with no background in Object-Oriented programming or Java. It uses a steady pace and numerous hands-on labs to provide an easy entry into the world of Java and OO Programming.

Java is one of the most important programming languages used today, and its correct usage is a critical part of many systems being written now.  The basics of the language are relatively easy, but the challenge lies in learning how to use it well.  This is especially true regarding the Object-Oriented nature of Java, which for many developers is a new way of approaching system design and construction.

This course covers the core OO and Java concepts that developers need to use the Java programming language to create well designed Java programs. It focuses on key OO capabilities and how to use them in Java. This includes material on creating well designed Java classes, using encapsulation, building more complex functionality with composition, and using inheritance to share functionality and create specialized types.

This course is suitable for environments using Java 5, Java 6, or Java 7. The material includes coverage of all the new Java capabilities, such as Generic Collection classes, and clearly points out which capabilities are supported in which environment. All labs are doable in any of the supported Java environments.

This course draws on our extensive experience to provide a solid understanding of the concepts and practices needed to write good object oriented programs in Java.  Be prepared to work hard and learn a great deal! This course can be followed by our Intermediate Java course. The course can be held on-site & customized to fit your needs.

All labs can be done with the Eclipse IDE or a simple editor, and the lab instructions include detailed directions on both environments.


  • Understand Java’s importance, uses, strengths and weaknesses
  • Understand Java language basics
  • Write, compile, and run Java programs
  • Understand the Object Model and Object Oriented Programming
  • Understand and use classes, inheritance, polymorphism
  • Create well designed classes and use them in your Java programs
  • Use composition and delegation to create objects from other objects
  • Understand & use packages to organize code
  • Learn good Java coding style
  • Create well structured Java programs
  • Compile and execute programs with the Sun Java 2 development tools and with an Integrated Development Environment (IDE) of your choice
  • Use the newest  features of Java 
Average Student Rating:

Java Basics

  • Java Overview
  • Java’s “Hello World” Program
  • Language and Platform Features
  • Program Lifecycle
  • The Java Software Development Kit (JDK)
  • Basic Java concepts and syntax (as needed)
  • LABS: 
    • Hello World:  A Simple Application
    • Basic Java Programming

Class and Object Basics

  • Object-Oriented (OO) Programming Overview
  • The Object Model
  • Classes and Data Members
  • Object References and Creating Objects
  • LABS: 
    • Exploring Types
    • Identity and Object References
    • Defining and Using Classes and Objects
    • Instance Variables

More on Classes and Objects

  • Working with Methods and Data, Method Overloading
  • Access Protection, public and private Access
  • Constructors and Initialization
  • static (or Class) methods
  • Garbage Collection, the finalize() Method
  • LABS: 
    • Using Methods and Encapsulation
    • Writing and Using Constructors
    • [Optional] Static Members
    • Using the Debugger

Flow of Control

  • Branching Statments
    • logical operators
    • if-else, switch,
  • Iteration Statements
    • while, do-while, for
    • break and continue
  • LABS: 
    • Flow of Control, Data Validation

Strings and Arrays

  • String, StringBuffer, and StringBuilder
  • Arrays
  • LABS: 
    • Using Strings and Arrays

Packages - Managing Complexity

  • Packages Overview - Using packages to organize code
  • import Statement
  • Creating Packages, and Package Directory Structure
  • Classpath and Finding Classes
  • LAB: Using Packages to Organize Code

Composition and Inheritance

  • Using Composition to Create complex classes
  • Composition/HAS-A, Delegation
  • Using Inheritance to Derive Specific Types From General Types
  • Overriding Methods, Using Polymorphism
  • Class Object
  • Abstract Classes
  • LABS:
    • Using Composition
    • Using Inheritance to Specialize Classes

 Overview of Additional Concepts

  • Interfaces
  • Exceptions
  • JDBC
  • Collections Framework
  • Java 6 & 7 - What's New
SkillBuilders Sample Video