Search our courses
Training

This Introduction to Java 8 Using Eclipse training course introduces the Java programming language and how to develop Java applications using Eclipse. Students learn the syntax of the Java programming language, object-oriented programming using Java, exception handling, generics, collections, and file input/output (I/O). During the course, students will develop and test Java applications using Eclipse. Throughout the course students will also work on a "project" which develops a complex Java application by applying principles learned to meet changing application requirements. This project is intended to simulate the programming environment they would encounter in real-world projects by providing application requirements and challenging the student to write Java code to meet those requirements.

 

What you will learn:

  •     Apply OOP principles
  •     Design OO applications using abstraction, encapsulation, modularity and hierarchy
  •     Use Java exceptions to guarantee graceful error recovery for your application
  •     Create and use inner classes in your program to make them concise and clear
  •     Do input/output using Java
  •     Create servlets and JavaServer Pages
  •     Use Eclipse for Java application development

 

Topics:

  •     Java basics
  •     Basic introduction to Eclipse
  •     Branching and looping
  •     Objects
  •     Advanced class concepts
  •     Arrays
  •     Exceptions
  •     Collections and Generics
  •     Stream I/O

Introduction to Java 8 Using Eclipse

Course Code

GTJ801

Duration

5 Days

Course Fee

POA

Accreditation

N/A

Target Audience

  • This Introduction to Java 8 Using Eclipse training course is intended for programmers who are interested in adding Java to their skills.

Attendee Requirements

  • It is beneficial but not required for students to be familiar with object-oriented principles and the concept of object-oriented programming.

Expand all

Course Description

This Introduction to Java 8 Using Eclipse training course introduces the Java programming language and how to develop Java applications using Eclipse. Students learn the syntax of the Java programming language, object-oriented programming using Java, exception handling, generics, collections, and file input/output (I/O). During the course, students will develop and test Java applications using Eclipse. Throughout the course students will also work on a "project" which develops a complex Java application by applying principles learned to meet changing application requirements. This project is intended to simulate the programming environment they would encounter in real-world projects by providing application requirements and challenging the student to write Java code to meet those requirements.

 

What you will learn:

  •     Apply OOP principles
  •     Design OO applications using abstraction, encapsulation, modularity and hierarchy
  •     Use Java exceptions to guarantee graceful error recovery for your application
  •     Create and use inner classes in your program to make them concise and clear
  •     Do input/output using Java
  •     Create servlets and JavaServer Pages
  •     Use Eclipse for Java application development

 

Topics:

  •     Java basics
  •     Basic introduction to Eclipse
  •     Branching and looping
  •     Objects
  •     Advanced class concepts
  •     Arrays
  •     Exceptions
  •     Collections and Generics
  •     Stream I/O
Course Outline

Chapter 1 - Overview of Java

  •     History Of Java
  •     Benefits Of Java
  •     What Is Java?
  •     What's This "Virtual Machine"?
  •     Comparison to Other Languages
  •     Java Programs
  •     Basic Java Development Tools
  •     Java Editions
  •     Example – HelloWorld
  •     Java Classes
  •     Main Methods
  •     Statements

Chapter 2 - Java Tools in Eclipse

  •     Eclipse Platform
  •     Eclipse Workspace
  •     Perspectives, Views & Editors
  •     Basic Operations with Eclipse Views and Perspectives
  •     The Java Perspective
  •     The Debug Perspective
  •     Navigator View
  •     Package Explorer
  •     Outline View
  •     Problems View
  •     Eclipse Preferences
  •     Build and Validation
  •     Code Completion, Templates and Snippets
  •     Searching
  •     Configure Compiler Class Path
  •     JRE Switching

Chapter 3 - Basic Object Concepts

  •     What Is An Object?
  •     State
  •     Behavior
  •     Encapsulation
  •     Encapsulation Examples
  •     Classes vs. Objects
  •     Inheritance
  •     Interfaces
  •     Polymorphism
  •     Benefits Of Objects

Chapter 4 - Basic Java Syntax

  •     Declaring And Initializing Variables
  •     Keywords
  •     Coding Tips – Variables
  •     Primitive Data Types
  •     Logical - boolean
  •     Textual - char and String
  •     Integral - byte, short, int, long
  •     Floating Point - float and double
  •     Java 7 – Changes in Numeric Literals
  •     Strings
  •     Creating Strings
  •     White Space
  •     Comments
  •     Coding Tips - Comments
  •     Java Statements
  •     Coding Tips - Statements
  •     Scope of a Variable
  •     System.out/System.in
  •     Scanner Class

Chapter 5 - Operations and Making Decisions

  •     Operator Categories
  •     Special Situations
  •     Binary Operators
  •     Integer Division
  •     Numeric Promotion
  •     Type Conversion Of Primitive Types
  •     Unary Operators
  •     Relational Operators
  •     Logical Operators
  •     "Short Circuited" Operators
  •     Bitwise Operators
  •     Shift Operators
  •     Overflow And Underflow
  •     Assignment Operators
  •     Ternary Operator
  •     Calculation Errors
  •     Operator Precedence
  •     Precedence Examples
  •     Combining Strings
  •     Coding Tips - Operators
  •     Control Flow Statements
  •     'if' Statement
  •     'if…else' Statement
  •     Nested Statements
  •     Coding Tips - if & if-else

Chapter 6 - Using Classes and Objects

  •     Objects, Instances, And Classes
  •     What Are Classes?
  •     Working With Classes And Objects
  •     Instantiation
  •     Instance Methods
  •     Object References
  •     Null Values
  •     String Operations
  •     "Wrapper" Classes
  •     Autoboxing

Chapter 7 - Writing Classes

  •     Why Define Your Own Classes?
  •     Encapsulation
  •     Elements Of A Class
  •     Defining Classes
  •     Coding Tips - Class Definitions
  •     Fields
  •     Defining Fields
  •     Coding Tips - Fields
  •     Methods
  •     Defining Methods
  •     Passing Parameters
  •     Overloading Methods
  •     Coding Tips - Methods
  •     Local Variables vs. Instance Variables
  •     Example - Defining a Class
  •     Example - Fields
  •     Example - Defining a Method
  •     Example - Calling a Method

Chapter 8 - Controlling Code Access and Code Organization

  •     Controlling Access
  •     Data Hiding
  •     Encapsulation
  •     JavaBeans
  •     Packages
  •     Naming Packages
  •     Declaring Packages In Classes
  •     Problems Solved With Packages
  •     Package Access
  •     Example - Access Modifiers
  •     Import Statement
  •     Using Classes From Packages
  •     Coding Tips - Import Statements
  •     Correlation To File Structure
  •     Class Path
  •     Java Core Packages
  •     Java API Documentation

Chapter 9 - Constructors and Class Members

  •     Constructors
  •     Default Constructor
  •     Multiple Constructors
  •     Defining Constructors
  •     Example - Calling Constructors
  •     "Good" Constructors
  •     'this' Keyword
  •     Using 'this' to Call a Constructor
  •     Using 'this' to Set a Field
  •     Class Members
  •     Examples Of Class Members
  •     Comparison With Instance Members
  •     Use Of Class Variables
  •     Static Class Methods
  •     Use Of Class Methods
  •     The Math Class
  •     Main Method And Command Line Arguments
  •     Declaring Constants
  •     Coding Tips - Class Members
  •     Useful Standard Class Members

Chapter 10 - Advanced Control Structures

  •     'switch' Statement
  •     Example - switch
  •     Switch "Fall Through"
  •     Using switch "Fall Through" for Multiple Options
  •     Java 7 – Strings in switch Statement
  •     'for' Loop
  •     Example - for
  •     'while' Loop
  •     Example - while
  •     'do…while' Loop
  •     Example - do while
  •     Break Statement
  •     Example - break
  •     Labeled Statements
  •     Example - Labeled break
  •     Continue Statement
  •     Example - continue
  •     Example - Labeled continue
  •     Coding Tips - Control Structures

Chapter 11 - Inheritance

  •     Inheritance Is…
  •     Inheritance Examples
  •     Declaring Inheritance
  •     Inheritance Hierarchy
  •     Access Modifiers Revisited
  •     Inherited Members
  •     Instances Of A Subclass
  •     Example Of Inheritance
  •     Role In Reuse
  •     Overriding Methods
  •     @Override Annotation
  •     The super Keyword
  •     Example - super Keyword
  •     Problems with Constructors
  •     Limiting Subclasses
  •     Calling Methods in Constructors
  •     The Object Class

Chapter 12 - Arrays

  •     Arrays
  •     Declaring Arrays
  •     Populating Arrays
  •     Accessing Arrays
  •     Arrays of Objects
  •     Array Length
  •     Coding Tips - Arrays
  •     Array References
  •     Multidimensional Arrays
  •     Arrays Of Arrays
  •     Copying Arrays
  •     For-Each loop
  •     Command Line Arguments
  •     Variable Arguments
  •     Variable Arguments Example

Chapter 13 - Commonly Overridden Methods

  •     Overriding Methods
  •     Using Eclipse to Override Methods
  •     toString()
  •     toString() in Object
  •     Overriding toString()
  •     Comparing Objects
  •     Using == vs. equals(..)
  •     Overriding equals(..)
  •     Complex Comparisons
  •     equals(..) Example
  •     hashCode()
  •     Overriding hashCode()
  •     hashCode() Example
  •     Generating equals and hashCode

Chapter 14 - Exceptions

  •     What is an Exception
  •     Benefits
  •     The java.lang.Exception Class
  •     How to Work With Exceptions
  •     Example Exception Handling
  •     The try-catch-finally Statement
  •     Flow of Program Control
  •     Exception Hierarchy
  •     Checked Exceptions
  •     Unchecked Exceptions
  •     Coding Tips - Exception Types
  •     Catching Subclass Exceptions
  •     Java 7 – Catching Multiple Exceptions
  •     Specifying Thrown Exceptions
  •     Rethrowing Exceptions
  •     Java 7 – Rethrowing Exceptions
  •     Chaining Exceptions
  •     Creating your Own Exception
  •     Java 7 – try-with-resources Statement
  •     Java 7 – Suppressed Exceptions in try-with-resources

Chapter 15 - Interfaces and Polymorphism

  •     Casting Objects
  •     The instanceof Operator
  •     Abstract Classes
  •     Abstract Class – An Example
  •     Interface
  •     Interface – An Example
  •     Comparable Interface
  •     Comparable Example
  •     Java 8 – Default Methods
  •     Java 8 – Default Method Example
  •     Java 8 – Static Methods
  •     Coding Tips - Superclass or Abstract Class/Interface?
  •     Coding Tips – Abstract Class or Interface
  •     Polymorphism
  •     Conditions for Polymorphism
  •     Coding Tips - Leveraging Polymorphism
  •     Covariant Return Types
  •     Covariant Return Types – An Example

Chapter 16 - Useful Java Classes

  •     Java Logging API
  •     Control Flow of Logging
  •     Logging Levels
  •     Loggers
  •     Logging Example
  •     Logging Handlers
  •     Logging Formatters & Log Manager
  •     Logging Configuration File
  •     Example Logging Configuration File
  •     Logging Filters
  •     java.lang.StringBuilder
  •     java.util.StringTokenizer
  •     java.util.Arrays & java.util.Collections
  •     java.util.Random
  •     Java Date and Time
  •     Local Date and Time
  •     java.util.Date and java.time.Instant
  •     Formatting
  •     Formatting Example

Chapter 17 - Collections and Generics

  •     What are Collections?
  •     Arrays vs. Collections
  •     Main Collections Interfaces
  •     java.util.Collection
  •     Main Collection Methods
  •     Sets
  •     java.util.List
  •     java.util.Queue
  •     Iteration on a Collection
  •     Iterator vs. For-Each Loop
  •     Maps
  •     java.util.Map
  •     Other Maps
  •     Collections Implementations
  •     Abstract Implementations
  •     Choosing a Collection Type
  •     Generics
  •     Generics and Collections
  •     Generic Collection Example
  •     Collections and Primitive Types
  •     Generic Diamond Operator

Chapter 18 - Introduction to Lambda Expressions

  •     Functional Interface
  •     Anonymous Inner Class (AIC)
  •     Downside of AIC
  •     Lambda Expressions
  •     Lambda Expression Syntax
  •     Method Reference
  •     Benefits of Lambda Expressions – An Example
  •     Initial Version
  •     Refactor Criteria Into Method
  •     Predicate Interface
  •     Using a Predicate
  •     Implement as Separate Class
  •     Implement as AIC
  •     Use Lambda Expressions
  •     Reuse Lambda Expressions

Chapter 19 - Input and Output

  •     Overview of Java Input/Output
  •     The File Class
  •     File Example
  •     Java 7 - The java.nio.file.Path Interface
  •     Serialization
  •     Serializing Object State
  •     Avoiding Serialization Problems
  •     serialVersionUID
  •     Options for File Input/Output
  •     Streams
  •     Input Stream
  •     Output Stream
  •     "Chained" Streams
  •     RandomAccessFile
  •     Java 7 – try-with-resources Statement
  •     Using Streams - Write Example
  •     Using Streams - Read Example
  •     Reader and Writer
  •     Using Readers and Writers - Write Example
  •     Using Readers and Writers - Read Example
  •     Using Readers and Writers - Scanner Read Example
  •     NIO Channels and Buffers

Chapter 20 - Other Java Concepts

  •     Annotations
  •     Enumerated Types
  •     Enumerated Types – Example
  •     Assertions
  •     When to use Assertions
  •     Assertions Examples
  •     Enabling Assertions
  •     JVM Storage Areas
  •     Java Heap Space
  •     Heap Size Limits
  •     Garbage Collection Basics
  •     Allocation Failure (AF)
  •     OutOfMemoryError
  •     Memory Leak
  •     Distributing Java Code with JARs

Appendix A - Overview of Java SE APIs

  •     Java GUI Programming
  •     Networking
  •     Security
  •     Date and Time API
  •     Databases - JDBC
  •     Concurrent Programming
  •     Collections “Stream API”
  •     Functional Interfaces for Lambda Expressions
  •     Naming - JNDI
  •     Management - JMX
  •     XML
  •     Web Services
  •     Remote Method Invocation
  •     Image I/O
  •     Printing

Appendix B - Overview of Java EE

  •     Goals of Enterprise Applications
  •     What is Java EE?
  •     The Java EE Specifications
  •     Versions
  •     Role of Application Server
  •     Java EE Components
  •     What is a Servlet?
  •     Servlet Execution
  •     What is a JSP?
  •     JSP Code Sample
  •     Introduction to JSF
  •     Example JSF Page
  •     What is an EJB?
  •     EJB Types
  •     Java Persistence API
  •     EJB Examples
  •     Java Web Services
  •     Contexts and Dependency Injection for Java EE (CDI)
  •     Web Browser
  •     Java EE Application Structure
  •     EAR File
  •     What are Modules?

Appendix C - Advanced Java Tools

  •     Refactoring
  •     Renaming Elements
  •     Moving a Class to a Different Package
  •     Extracting Code to a Method
  •     Other Source Code Refactoring
  •     Refactoring to Improve Type Hierarchy
  •     Generalizing a Variable
  •     Pull-up and Push-down

Lab Exercises

    Lab 1. The HelloWorld Class
    Lab 2. Refining The HelloWorld Class
    Lab 3. The Arithmetic Class
    Lab 4. Project - Prompt and Store StockAccount Information (Optional)
    Lab 5. Creating A Simple Object
    Lab 6. Project - Create a StockAccount Class (Optional)
    Lab 7. Getters and Setters
    Lab 8. Project - Improve Encapsulation (Optional)
    Lab 9. Using Constructors
    Lab 10. Project - Add Constructors (Optional)
    Lab 11. Project – Create a Stock Class (Optional)
    Lab 12. Project – Buy Stock (Optional)
    Lab 13. Project – Sell Stock (Optional)
    Lab 14. Looping
    Lab 15. Project - Loop Until Quit (Optional)
    Lab 16. Subclasses
    Lab 17. Project - Dividend Stocks (Optional)
    Lab 18. Arrays
    Lab 19. Method Overriding
    Lab 20. Project - Improved Stock Output (Optional)
    Lab 21. Exception Handling
    Lab 22. Project - Better Error Handling (Optional)
    Lab 23. Interfaces
    Lab 24. Collections
    Lab 25. Project – Multiple Stocks (Optional)
    Lab 26. Introduction to Lambda Expressions
    Lab 27. Writing To A File
    Lab 28. Project - Saving to a File (Optional)

Learning Path
  • There are a number of options which may suit your business needs. Please contact us for further suggestions.
Ways to Attend
  • Attend a public course, if there is one available. Please check our schedule, or register your interest in joining a course in your area.
  • Private onsite Team training also available, please contact us to discuss. We can customise this course to suit your business requirements.

Private Team Training is available for this course

We deliver this course either on or off-site in various regions around the world, and can customise your delivery to suit your exact business needs. Talk to us about how we can fine-tune a course to suit your team's current skillset and ultimate learning objectives.

Private Team Training | Contact us

Technical ICT learning & mentoring services

Private Team Training

Our instructors are specialist consultants with vast real world experience and expertise allowing them to design and deliver client-focused courses for your organisation.

Learn more about our Private Team Training

What Our Clients Say

“I particularly liked the heavy hands on sessions that went on with the training. Other than that, really liked Mark's training style. His experience in the field really shines through.”

 

Docker - GTDK1

Feb ‘19

“Instructor's ability to demonstrate new features that are not part of the course help show his mastery as well as prepare us for changes in the technology. Great work.

 

Using Docker & Kubernetes in Production - GTK8SG

Oct ‘18


“This course was an excellent insight into the Cloud Service Management world and equips me with the tools to go back to my company and build upon it.”

 

Cloud Service Manager - GTC13

Jan ‘19

 


“The course was great. The instructor is true Kubernetes Ninja. Loved the hands on approach. Very happy with the course.”

 

Using Docker & Kubernetes in Production - GTK8SG

Oct ‘18

“Excellent instructor. You can tell he really understands the concepts he's presenting and is very passionate about his work. He answered every question we asked and presented the course in an interesting and involving manner.”

 

Spring Boot Development - GTIT40

Nov ‘18

"Intelligence is the ability to avoid doing work, yet
getting the work done"

Linus Torvalds, creator of Linux and GIT

Technical ICT learning & mentoring services

About GuruTeam

GuruTeam is a high-level ICT Learning, Mentoring and Consultancy services company. We specialise in delivering instructor-led on and off-site training in Blockchain, Linux, Cloud, Big Data, DevOps, Kubernetes, Agile, Software & Web Development technologies. View our Testimonials

Download our eBrochure
Our Accreditation Partners
Upcoming Courses

Kubernetes Administration

16th - 19th September

Dublin

This Kubernetes Administration Certification training course is suitable for anyone who wants to learn the skills necessary to build and administer a Kubernetes cluster

Learn More

CompTIA Network+ FastTrack

10th - 13th June - Cork

11th - 14th November - Cork

This fast-paced course teaches the essentials of networking and helps to prepare the student for the CompTIA Network+ certification.

Learn More

Applied Data Science with Python

11th - 12th June - Dublin

10th - 11th September - Dublin

17th - 18th December - Dublin

Learn about the theoretical and practical aspects of using Python in the realm of Data Science, Business Analytics, and Data Logistics

Learn More

Introduction to Python 3

10th - 12th September - Cork

8th - 10th October - Dublin

Python is a powerful and popular object-oriented programming/scripting language with many high quality libraries.

Learn More

Newsletter

Stay up to date, receive updates on scheduled dates, new courses, offers, and events.

Subscribe to our Newsletter