Logo

Maxtrain.com - [email protected] - 513-322-8888 - 866-595-6863

MU-JAVAPAdv

Advanced Java Programming

Alert Me

Description

This hands-on course class is designed as a continuation of course JV-105 – Fundamentals of OO using Java. It quickly reviews object oriented programming and concentrates on building strength in advanced skills using J2SE and Eclipse.

At Course Completion

Students will have an overview of Java`s libraries for handling special requirements and will build competency in J2SE Java programming.

Outline

 

 

Classes & objects

  • A relational data structure
  • An object data structure
  • Relational vs. OO
  • Defining the class
  • Class data structure
  • Class as a data type
  • Constructors
  • Basic steps of object use
  • Reference ç object
  • Many references, no object
  • Garbage collection

Class methods

  • Two class code sections
  • Instance methods
  • this
  • this
  • Revisiting static
  • Static blocks
  • Unchangeable variables
  • Constants
  • Getters and setters
  • Calling getters and setters
  • toString( )
  • Common class tasks

Constructors

  • Purpose
  • Rewriting the default constructor
  • Exercises
  • An all-arg constructor
  • Shadowing
  • DRY in constructors

Arrays

  • The array
  • Declaring arrays
  • Creating arrays
  • Initializing arrays
  • Anonymous arrays
  • Multi-dimensional arrays
  • One field, no methods
  • Iterating over an array
  • The main( ) args array
  • Eclipse command line input
  • Iterating over command line input

Strings

  • The String cache
  • equals( )
  • String methods
  • Expensive concat( )

Inheritance

  • Definition
  • Implementation
  • Terminology
  • Behavior expansion
  • Object class
  • Inherited fields/methods
  • Stopping inheritance
  • Overriding
  • Overriding in Eclipse
  • Stopping overriding
  • Accessing overridden methods
  • Abstract vs. concrete
  • Inheriting an abstract class
  • Constructors & inheritance
  • Construction process
  • Object layers
  • Chaining constructors with Eclipse
  • Superclass references
  • Casting back to subclass references
  • Polymorphism
  • Polymorphic methods
  • Object oriented principles

Interfaces

  • Definition
  • Typical discovery
  • Creating an interface
  • Writing interface methods
  • Implementing interfaces
  • Eclipse and interfaces

Class organization

  • Packages
  • Declaring a package
  • Nested packages
  • Qualified class names
  • Providing access to package classes
  • Package access keywords

Exception handling

  • Old school
  • OO school
  • OO error handling
  • try and catch
  • Catching what?
  • Two exception types
  • Unchecked exceptions - Eclipse
  • Checked exceptions - Eclipse
  • Multiple catch blocks
  • Defining your own error states
  • Rethrowing
  • finally
  • Defer error handling
  • Throwable
  • Inheritance structure

Generics

  • Definition
  • Convenience

Collections

Overview

  • Collection vs. array
  • Package architecture
  • Three definitions of collections
  • Four properties

Collection superinterface

  • Basic methods
  • Bulk methods
  • Array methods
  • Optional methods

Collection - List interface

  • Positioning
  • Searching methods
  • Iteration methods
  • Subset view
  • Linked List methods
  • Concrete classes: Vector, ArrayList, LinkedList

Iterator interface

  • Iterator behavior
  • Iterator methods
  • ListIterator

Collection - Set superinterface

  • Basic methods
  • Bulk methods
  • Array methods
  • Set concrete classes: HashSet

Collection - Set - SortedSet interface

  • Methods
  • Subset methods
  • Concrete classes: TreeSet

Sorting – Comparable and the comparator

  • Comparable – implement and define a compareTo( ) method
  • Comparator – define a new class

Map superinterface

  • Concrete classes: HashMap, TreeMap, Hashtable
  • Basic methods
  • Bulk methods
  • Collection view methods
  • HashMap using iterator with entrySet() and Map.Entry elements
  • Concrete class: WeakHashMap

Map - SortedMap interface

  • Basic method
  • Subset view methods
  • Concrete class: TreeMap

Collections class

  • Moving stuff around
  • Finding stuff
  • Wrappers for thread-safe collections
  • Wrappers for unmodifiable views of collections
  • Other useful methods

Arrays class

Properties and Preferences

Early collections

  • Vector
  • Stack
  • Hashtable
  • BitSet
  • Enumeration

Threads

  • Thread concepts
  • Creating threads by inheritance
  • Running threads
  • Creating threads by an interface
  • Running threads – a UML summary
  • Thread class methods
  • Uninterrupted code blocks
  • Forks and joins
  • Thread communication
  • Interruptions
  • Miscellaneous

Debugging

  • Old school
  • Better – System.err
  • Better yet - redirect to file
  • Redirect to file – Eclipse
  • The best – Logger
  • Assertions
  • Debugger
  • Debugger features
  • Debugger flow control
  • Debugger variables
  • Debugger watch

Lambda Expressions and Streams

  • How to work with lambda expressions
    • Anonymous classes vs lambdas
    • Pros and cons
    • The syntax
  • Functional Interfaces
    • Predicate
    • Consumer
    • Function
    • Multiple functional interfaces
  • How to work with streams
    • How to filter a list
    • How to map a list
    • How to reduce a list

 

 

PreRequisites

 

Either Java Programming Fundamentals or experience within the last few years of programming Java at a basic level.

 

Audience

 

 

Anyone who has had some background in programming Java with J2SE but would like to brush up and learn new skills.

 

$2995.00 List Price

5 Days Course

Class Dates

Request a Date or a Private Class below.


MAX Educ. Savings
Category:
Loading ...