Java Course » JV002 Intermediate Application Development with Java

  Course Code:   LP002   
  Duration:  3 Days Pricing :  19,500 Baht (VAT Included)
  Overview  
 

WTEC's Intermediate Application Development with Java course teaches Java developers advanced object-oriented concepts, collections, logging, file I/O, unit testing, and a wide variety of other valuable Java skills.

We also offer an Advanced Application Development with Java course.


Prerequisites

Students must be able to write, compile, test, and debug simple Java programs, using structured programming techniques, strong data types, and flow-control constructs such as conditionals and loops. Our Beginning Application Development with Java class is recommended.


Hands-on/Lecture Ratio

This Java training course is 70% hands-on, 30% lecture, with the longest lecture segments lasting for 20 minutes.


Software Needed on Each PC

 
  • Any operating system that supports Java 1.5, 1.6, or later
  • Java SE SDK version 1.5, 1.6, or later (downloadable from http://java.sun.com/j2se/downloads.html)
  • The Java development environment the students are likely to use after the class (Eclipse, available free at http://www.eclipse.org/, is recommended)
  • Other free software – please contact us if you have purchased this class

  • Objectives

     
  • Understand Java as a purely object-oriented language, and implement software as systems of classes.
  • Implement and use inheritance and polymorphism, including interfaces and abstract classes.
  • Design appropriate exception handling into Java methods.
  • Use the standard logging API to write diagnostic information at runtime.
  • Understand the structure of streams in Java, and learn how to use streams to manage file I/O.
  • Learn how to use Java Serialization to internalize and externalize potentially complex graphs of objects.

  • Outline

    1.  Review of Java Fundamentals
     
  • The Java Architecture
  • Forms for Java Software
  • Three Platforms
  • The Java Language
  • Numeric Types
  • Characters and Booleans
  • Enumerations
  • Object References
  • Strings and Arrays
  • Conditional Constructs
  • Looping Constructs
  • Varargs
  • 2.  Object-Oriented Software
     
  • Complex Systems
  • Abstraction
  • Classes and Objects
  • Responsibilities and Collaborators
  • Relationships
  • Visibility
  • 3.  Classes and Objects
     
  • Java Classes
  • Constructors and Garbage Collection
  • Naming Conventions and JavaBeans
  • Relationships Between Classes
  • Using this
  • Visibility
  • Packages and Imports
  • Overloading Methods and Constructors
  • JARs
  • 4.  Inheritance and Polymorphism in Java
     
  • UML Specialization
  • Extending Classes
  • Using Derived Classes
  • Type Identification
  • Compile-Time and Run-Time Type
  • Polymorphism
  • Overriding Methods
  • The @Override
  • Annotation Superclass Reference
  • 5.  Using Classes Effectively
     
  • Class Loading
  • Static Members
  • Statics and Non-Statics
  • Static Initializers
  • Static Imports
  • Prohibiting Inheritance
  • Costs of Object Creation
  • Strings and StringBuffers
  • Controlling Object Creation
  • Understanding Enumerated Types
  • Stateful and Behavioral Enumerations
  • 6.  Interfaces and Abstract Classes
     
  • Separating Interface and Implementation
  • UML Interfaces and Realization
  • Defining Interfaces
  • Implementing and Extending Interfaces
  • Abstract Classes
  • 7.  Collections
     
  • Dynamic Collections vs. Arrays
  • UML Parameterized Type
  • Generics
  • Using Generics
  • The Collections API
  • The Collection<E> and List<E> Interfaces
  • The ArrayList and LinkedList Classes
  • Looping Over Collections: Iterable
  • Collecting Primitive Values: Auto-Boxing
  • Using Wildcards with Generic Types
  • Iterators and the Iterator Interface
  • Maps and the Map<K,V> Interface
  • Sorted Collections
  • The SortedSet and SortedMap<K,V> Interfaces
  • The Collections Class Utility
  • Algorithms
  • Conversion Utilities
  • 8.  Exception Handling and Logging
     
  • Reporting and Trapping Errors
  • Exception Handling
  • Throwing Exceptions
  • Declaring Exceptions per Method
  • Catching Exceptions
  • The finally Block
  • Catch-and-Release
  • Chaining Exceptions
  • The J2SE Logging API
  • Severity Levels
  • Log Hierarchies
  • 9.  Inner Classes
     
  • Passing Behavior
  • Inner Classes in GUI Programming
  • Named Inner Classes
  • Outer Object Reference
  • Static Inner Classes
  • Anonymous Inner Classes
  • 10.  The Java Streams Model
     
  • Delegation-Based Stream Model
  • InputStream and OutputStream
  • Media-Based Streams
  • Filtering Streams
  • Readers and Writers
  • 11.  Working with Files
     
  • File Class
  • Modeling Files and Directories
  • File Streams
  • Random-Access Files
  • 12.  Java Serialization
     
  • The Challenge of Object Serialization
  • Serialization API
  • Serializable Interface
  • ObjectInputStream and ObjectOutputStream
  • The Serialization Engine
  • Transient Fields
  • Read Object and writeObject
  • Externalizable Interface
  • 13.  Automated Unit Testing with JUnit
     
  • Automated Testing
  • JUnit and Related Tools
  • The @Test Annotation
  • The Assert Class Utility
  • Test Runners
  • Lifecycle Methods
  • 14.  Conclusion
     
     
      PREV   NEXT  
    TOP