• Skip to main content
  • Skip to primary navigation
State & Federal Contracts for Government
Contact Us:       info@microassist.com       (512) 794-8440

Microassist

Menu Responsive

Search

  • Accessibility
    • Accessibility Audits
    • VPAT Consulting Services
    • Accessibility Remediation
    • Accessible PDF and Document Remediation Services
    • Accessible Website and Application Development
    • Accessibility Training
    • Accessible Elearning
    • Accessibility in the News
  • Custom Elearning
    • Elearning Philosophy
    • Accessible Elearning
    • Managed Learning Services: Training Support for Business
    • Training Staff Augmentation Services
    • Learning Management System
    • Mlearning Development
    • Examples of Our Work
    • The Learning Dispatch (Blog)
  • Classroom Training
    • Course List
    • Course Schedule
    • Classroom Rental
    • Training FAQ
    • Software Tips (Blog)
  • About
    • Government Solutions
    • Blogs
    • Team
    • Career Opportunities
    • Community Involvement
    • History
    • Newsletter Subscriptions
    • News and Media
    • Accessibility Statement
  • Open Search Field

Web Development

Introduction to Java for OO Programmers

Course Overview

This Java training course is intended for students with experience in a procedural or object-oriented language. It covers most Java syntax elements, including recent additions such as Generics and AutoBoxing. In addition to the fundamental library classes that would be needed in any Java program, it also covers several other important APIs, including Collections and Streams.

The class introduces the concept of objects as one of the first topics, in order that the later concepts are covered with an OO perspective. The material is based on Java 5 and 6, but most concepts would apply in 1.4 as well.

If you are new to object-oriented programming, you should take our Introduction to Java for New Programmers class instead.

Course Length

5 days

Learning Outcomes / Objectives

  1. Learn how Java works.
  2. Understand the “write once, run anywhere” concept.
  3. Understand and learn how to create basic Java objects.
  4. Learn how to implement flow-control concepts in Java.
  5. Understand Java’s package concept and create packages of Java classes.
  6. Understand Java arrays and write code to create and use arrays.
  7. Learn how to write Java classes using inheritance.
  8. Learn how to create and use interfaces.
  9. Understand and use the concept of polymorphism in an application
  10. Understand how Java’s exception-handling mechanism works and learn how to apply exception-handling to Java applications.
  11. Understand and use the Java Logging API.
  12. Understand and use inner classes.
  13. Understand Generics and use them with the Collections API.
  14. Learn about Java’s Streams concept, and how to apply that to files using text and binary data.
  15. Create and run JUnit tests for Java classes.

Download Course Registration Form


Topic List

  1. Java Introduction
    1. Conventions in These Notes
    2. The Java Environment – Overview
    3. Writing a Java Program
    4. Obtaining The Java Environment
    5. Setting up your Java Environment
    6. Creating a Class That Can Run as a Program
      1. The main() Method
    7. Useful Stuff Necessary to go Further
      1. System.out.println()
    8. Using the Java Documentation
  2. Java Basics
    1. Basic Java Syntax
      1. General Syntax Rules
      2. Java Statements
      3. Blocks of Code
      4. Comments
      5. Variables
    2. Data
      1. Primitive Data Types
      2. Object Data Types
      3. Literal Values
      4. Constants and the final keyword
    3. Mathematics in Java
      1. Expressions
      2. Operator Precedence
      3. Multiple Assignments
      4. Order of Evaluation
      5. Bitwise Operators
      6. Compound Operators
      7. Expressions that Mix Data Types: Typecasting
    4. Creating and Using Methods
      1. Creating Methods
      2. Variable Scope
  3. Java Objects
    1. Objects
      1. Object-Oriented Languages
      2. Object-Oriented Programs
      3. Encapsulation
      4. Creating and Using an Instance of an Object
      5. References
      6. Defining a Class
      7. Java Beans
      8. Constructors
      9. Method Overloading
      10. The this Keyword
      11. static Elements
      12. Garbage Collection
      13. Java Packages
      14. Dealing with Keyboard Input
    2. String, StringBuffer, and StringBuilder
    3. Creating Documentation Comments and Using javadoc
      1. Javadoc Comments
  4. Comparisons And Flow Control Structures
    1. Controlling Program Flow
      1. Boolean-Valued Expressions
      2. Complex boolean Expressions
      3. Simple Branching
      4. Two Mutually Exclusive Branches
      5. Nested if…else Statements – Comparing a Number of MutuallyExclusive Options
      6. Comparing a Number of Mutually ExclusiveOptions – The switch Statement
      7. Comparing Objects
      8. Conditional Expression
      9. while and do…while Loops
      10. for Loops
    2. Additional Loop Control: break and continue
      1. Breaking Out of a Loop
      2. Continuing a Loop
    3. Classpath, Code Libraries, and Jar files
      1. Using CLASSPATH
      2. Creating a jar File (a Library)
  5. Arrays
    1. Arrays
      1. Defining and Declaring Arrays
      2. Instantiating Arrays
      3. Initializing Arrays
      4. Working With Arrays
      5. Array Variables
      6. Copying Arrays
      7. Arrays of Objects
    2. Enhanced for Loops – the For-Each Loop
    3. Multi-Dimensional Arrays
      1. Multidimensional Arrays in Memory
      2. Example – Printing a Picture
    4. Typecasting with Arrays of Primitives
  6. Inheritance
    1. Inheritance
      1. Payroll with Inheritance
      2. Derived Class Objects
    2. Polymorphism
      1. Inheritance and References
      2. Dynamic Method Invocation
    3. Creating a Derived Class
      1. Inheritance and Access
      2. Inheritance and Constructors – the super Keyword
      3. Derived Class Methods That Override Base Class Methods
      4. Inheritance and Default Base Class Constructors
      5. The Instantiation Process at Runtime
    4. Example – Factoring Person Out of Employee and Dependent
    5. Typecasting with Object References
      1. Typecasting, Polymorphism, and Dynamic Method Invocation
      2. More on Overriding
      3. Object Typecasting Example
      4. Checking an Object’s Type: Using instanceof
      5. Typecasting with Arrays of Objects
    6. Other Inheritance-Related Keywords
      1. abstract
      2. final
    7. Methods Inherited from Object
  7. Interfaces
    1. Interfaces
    2. Creating an Interface Definition
    3. Implementing Interfaces
      1. Implementing Interfaces – Example
    4. Reference Variables and Interfaces
      1. Calling an Interface Method
    5. Interfaces and Inheritance
    6. Some Uses for Interfaces
      1. Interfaces and Event-Handling
      2. Interfaces and “Pluggable Components”
  8. Exceptions
    1. Exceptions
      1. Handling Exceptions
      2. Exception Objects
    2. Attempting Risky Code – try and catch
    3. Guaranteeing Execution of Code – the finally Block
    4. Letting an Exception be Thrown to the Method Caller
    5. Throwing an Exception
    6. Exceptions and Inheritance
      1. Exception Class Constructors and Methods
    7. Creating and Using Your Own Exception Classes
    8. Rethrowing Exceptions
    9. Initializer Blocks
      1. Static Initializer Blocks
      2. Assertions
  9. Generics and Collections
    1. Fundamental Collections: Sets, Lists, and Maps
    2. Iterators
    3. Creating Collectible Classes
      1. hashCode and equals
      2. Comparable and Comparators
    4. Generics
      1. Basic Generics Syntax
      2. Bounded Types and Wildcards
    5. Advanced Topics
      1. Type Erasure
      2. instanceof Tests
      3. Multiple-Bounded Types
  10. Inner Classes
    1. Inner Classes, aka Nested Classes
      1. Inner Class Syntax
      2. Instantiating an Inner Class Instance from Within the Enclosing Class
      3. Inner Classes Referenced from Outside the Enclosing Class
      4. Working with Inner Classes
  11. Streams
    1. Introducing Streams
      1. Input Stream Classes
      2. Output Stream Classes
      3. Using System.in
    2. Files and Directories
      1. Filename Filters
      2. Creating a Directory Listing
    3. Files and Streams
      1. Writing to a File
      2. Creating a File Copying Program
    4. Working with Binary Data
      1. Primitives
      2. Object Serialization
    5. Properties and Properties Files
  12. Unit Testing
    1. Software Testing Concepts
    2. Unit Testing
    3. Using JUnit
      1. Creating a Test Case

Footer

Microassist

As one of Central Texas’s most experienced software education centers, a primary training vendor for the State of Texas, and a Microsoft Certified Solution Partner, Microassist has successfully worked with clients in fields ranging from advertising, real estate, law and politics to state and government agencies.

Quick Links

Government Solutions

Accessibility in the News

Learning Dispatch (Blog)

Lexis-Nexis Mealey’s® Commentaries

Classroom Course Schedule

Digital Accessibility Blog

Contact Us

Microassist, Inc.

8500 Shoal Creek
Building 4, Suite 225

Austin, Texas 78757

Tel: (512) 794-8440
Fax: (512) 794-8742

Email: info@microassist.com MORE

Back to Top
Copyright 2021 Microassist. All Rights Reserved.
  • Privacy
  • Accessibility Statement
  • Site Map
  • Contact Us
International Association of Accessibility Professionals (IAAP) Member
Microassist on Facebook
Microassist on Twitter
Microassist on Linked In
Microassist on Youtube
MENU
  • Accessibility
    • Accessibility Audits
    • VPAT Consulting Services
    • Accessibility Remediation
    • Accessible PDF and Document Remediation Services
    • Accessible Website and Application Development
    • Accessibility Training
    • Accessible Elearning
    • Accessibility in the News
  • Custom Elearning
    • Elearning Philosophy
    • Accessible Elearning
    • Managed Learning Services: Training Support for Business
    • Training Staff Augmentation Services
    • Learning Management System
    • Mlearning Development
    • Examples of Our Work
    • The Learning Dispatch (Blog)
  • Classroom Training
    • Course List
    • Course Schedule
    • Classroom Rental
    • Training FAQ
    • Software Tips (Blog)
  • About
    • Government Solutions
    • Blogs
    • Team
    • Career Opportunities
    • Community Involvement
    • History
    • Newsletter Subscriptions
    • News and Media
    • Accessibility Statement