Java Training Course

The Graphics Network

Training and Development for Windows, Linux and the Web

01285 713297

Java Programming

This course teaches the Java programming language without concentrating on any particular target environment. The course outline below assumes some programming experience but not necessarily in a Java-like language. Developers who already have experience in a similar language such as C++ could take a shorter course with an accelerated overview of the fundamentals.

The 4 day course costs £2560 in total for up to 6 students, so if you have 6 people to train this would be £426 for each student. These prices exclude VAT and the instructor's reasonable expenses. Each student beyond 6 would cost £20 for the additional course manuals. If you are interested in this course, please contact us by email at or by phone on +44 (0)1285 713297.

Course Outline:


Origins of Java. Object orientation. Platform independence and portability. Java editions. Java versions.

Getting Started

Compiling and running. Case and layout. Blocks and braces. Classes and methods. The System class. Literals. The main method.

Using variables

Declaring variables. Numeric types. Initialization options. Characters and Strings.

Operators, Strings and Numbers

Basic operators. Precedence. Shorthands. Type safety. Typecasting. Converting strings and numbers.

Control Flow

The for loop. Blocks and compound statements. Favourite mistakes. If and else. Comparisons. The boolean type. The conditional expression. While and do while.

Object Orientation

Overloading. Component software. Encapsulation. Objects, references and new. Encapsulation and reuse. Public and private. Setters and getters. The 'this' keyword. Class wrappers. Strings and StringBuffers. Constructors and initialization. Arrays. Arrays of objects.


Why inheritance is important. The Object superclass. Exploiting inheritance. Inheritance and protection. Static members. The final keyword. Collections and generics. Iterators and for 'each'. Creating and using packages. Value vs reference types and boxing.


Class hierarchies. Polymorphism in action. Calling constructors. Abstract and concrete classes. Using instanceof and casting. The class named Class.


The benefits of interfaces. Interfaces vs classes. Defining and implementing an interface. Commonly used interfaces. Sorting.

Exception Handling

How exception handling works. try...catch and throw. Handling multiple exception types. try...finally. Using throws. Deriving exception classes.

Streams and Networking

The stream architecture. Basic streams. Data streams. Strings - readers and writers. Using disk files. Object streams and serialization. Versioning. Using URLs. tcp/ip addresses. The Socket class. Writing a tcp/ip client. Servers and ServerSockets. Passing data across the network.

Using and Synchronizing Threads

Benefits and uses of threads. The Thread class. The Runnable interface. Implementing threads. Method synchronization. Synchronized blocks. Monitors and how they work. Controlling threads - wait and notify. Priorities. Starting and controlling processes.

Lambdas and Concurrency (Java 8)

Lambda expressions. Interface enhancements. forNext. Streams and concurrency.

Further Language Features

Annotations. Enums. Inner classes. Anonymous classes.

Copyright © 1996 - 2018 The Graphics Network Ltd. Registered in England No. 2549085
All trademarks used on this site are respectfully acknowledged.
Microsoft is a registered trademark of Microsoft Corporation in the United States and other countries.