Introduction to OO Programming in Java

Object oriented programming offers many benefits when it comes to creating modular, reusable, and logical software solutions. This course provides an introduction to object oriented concepts through the prism of the Java programming language. We investigate important OO principles such as abstraction, encapsulation, inheritance and polymorphism, and see how to apply these principles in Java.


What you will learn:

  • What is OO all about
  • OO concepts: abstraction, encapsulation, inheritance, and polymorphism
  • Introduction to the Java language and platform
  • Writing and compiling Java code
  • Mapping OO concepts to Java language constructs


  • Experience in programming or shell scripting

Course outline:

Setting the Scene

  • What is OO
  • What are the Benefits of OO
  • What are the Key Principles of OO

Introduction to Java Programming

  • Setting the Scene
  • Installing and Using Java SE
  • Using an IDE
  • A Closer Look at Java Syntax
  • Getting Started with Java Operators

Operators and Flow Control

  • A Closer Look at Operators
  • Conditional Statements
  • Loops

Writing and Calling Methods

  • Essential Concepts
  • Defining and Calling Methods
  • Parameters and Return Values
  • Useful Java Classes

Defining and Using Classes

  • Essential Concepts
  • Defining and Using Packages
  • Defining a Class
  • Creating and Using Objects


  • Overview of Initialization
  • Using the static Keyword
  • Factories

Arrays and Collections

  • Declaring and Using Arrays
  • Traversing Arrays
  • Using the Arrays Class
  • Multi-Dimensional Arrays
  • Overview of Collections
  • Using Collections


  • Overview of Inheritance
  • Defining Subclasses and Superclasses
  • Polymorphism
  • Additional Inheritance Techniques
  • Overview of Interfaces
  • Defining and Implementing Interfaces
  • Using Interfaces Effectively

Additional Language Features

  • Exceptions
  • Generics
  • Varargs
  • Type-Safe Enumerations

Using Java APIs

  • Working with Files
  • Text Files
  • Binary Files
  • Overview of Java Database Access
  • JDBC Statements and Results

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses

10. October
2 days
14. October
5 days
Classroom Virtual
9. October
3 days
30. September
5 days
Classroom Virtual