Developers: Learn a New Programming Language or App Development with Deitel LiveLessons Videos!
Login  |  Register  |  Media Kit  |  Press  |  Contact Us  |   Twitter Become a Deitel Fan on Facebook  
Custom Search
Java How to Program 9/e Cover

ISBN: 0132575663
© 2012, pp. 1536

Order now at


Java200—Java for C++ or C# Programmers Minimize


This 5-day, lecture-and-lab course presents object-oriented programming with the Java programming language. Key topics include the Java Development Kit (JDK), Java SE 7, classes, objects, encapsulation, interfaces, inheritance, polymorphism, abstract classes, packages, event-driven programming, graphical user interfaces (GUIs), exception handling, file processing, multithreading, generics and generic collections. Students create Java applications, understand Java object-oriented programming, learn to use various Java Application Programming Interfaces (APIs) and participate in extensive hands-on laboratory assignments. After taking this course, students will be prepared to take Java300—Advanced Java Programming.


  • Ability to program in C++ or C#


Review of Java syntax and concepts presented in the following chapters of Java How to Program, 8/e:

  • Chapter 2—Introduction to Java Applications
  • Chapter 3—Introduction to Classes and Objects
  • Chapter 4—Control Statements: Part 1
  • Chapter 5—Control Statements: Part 2
  • Chapter 6—Methods: A Deeper Look
  • Chapter 7—Arrays

Classes and Objects: A Deeper Look

  • Time Class Case Study
  • Controlling Access to Members
  • Referring to the Current Object's Members with the this Reference
  • Time Class Case Study: Overloaded Constructors
  • Default and No-Argument Constructors
  • Composition
  • Enumerations
  • Garbage Collection and Method finalize
  • static Class Members
  • static Import
  • final Instance Variables
  • Time Class Case Study: Creating Packages

Object-Oriented Programming: Inheritance

  • Superclasses and Subclasses
  • protected Members
  • Relationship between Superclasses and Subclasses
  • Creating and Using a CommissionEmployee Class
  • Creating a BasePlusCommissionEmployee Class without Using Inheritance
  • Creating a CommissionEmployee – BasePlusCommissionEmployee Inheritance Hierarchy
  • CommissionEmployee – BasePlusCommissionEmployee Inheritance Hierarchy Using protected Instance Variables
  • CommissionEmployee – BasePlusCommissionEmployee Inheritance Hierarchy Using private Instance Variables
  • Constructors in Subclasses
  • Software Engineering with Inheritance

Object-Oriented Programming: Polymorphism

  • Polymorphism Examples
  • Demonstrating Polymorphic Behavior
  • Abstract Classes and Methods
  • Case Study: Payroll System Using Polymorphism
  • Demonstrating Polymorphic Processing, Operator instanceof and Downcasting
  • Summary of the Allowed Assignments Between Superclass and Subclass Variables
  • final Methods and Classes
  • Case Study: Creating and Using Interfaces
  • Developing a Payable Hierarchy
  • Declaring Constants with Interfaces
  • Common Interfaces of the Java API

GUI Components: Part 1

  • Simple GUI-Based Input/Output with JOptionPane
  • Overview of Swing Components
  • Displaying Text and Images in a Window
  • Text Fields and an Introduction to Event Handling with Nested Classes
  • Common GUI Event Types and Listener Interfaces
  • How Event Handling Works
  • JButton component    
  • Buttons That Maintain State
  • JCheckBox component  
  • JRadioButton component
  • JComboBox and Using an Anonymous Inner Class for Event Handling
  • JList component
  • Mouse Event Handling and Adapter Classes
  • JPanel Subclass for Drawing with the Mouse
  • Layout Managers
  • Using Panels to Manage More Complex Layouts

Exception Handling

  • Exception-Handling Overview
  • Example: Divide by Zero without Exception Handling
  • Example: Handling ArithmeticExceptions and InputMismatchExceptions
  • When to Use Exception Handling
  • Java Exception Hierarchy
  • finally Block
  • Stack Unwinding
  • printStackTrace , getStackTrace and getMessage
  • Chained Exceptions
  • Declaring New Exception Types
  • Assertions

Files and Streams

  • Data Hierarchy
  • Files and Streams
  • Class File
  • Sequential-Access Text Files
  • Creating a Sequential-Access Text File
  • Reading Data from a Sequential-Access Text File
  • Updating Sequential-Access Files
  • Object Serialization
  • Creating a Sequential-Access File Using Object Serialization
  • Reading and Deserializing Data from a Sequential-Access File
  • Additional Classes
  • Opening Files with JFileChooser


  • Motivation for Generic Methods
  • Generic Methods: Implementation and Compile-Time Translation
  • Additional Compile-Time Translation Issues: Methods That Use a Type Parameter as the Return Type
  • Overloading Generic Methods
  • Generic Classes
  • Raw Types
  • Wildcards in Methods That Accept Type Parameters


  • Collections Overview
  • Class Arrays
  • Interface Collection and Class Collections
  • ArrayList class and Iterators
  • LinkedList class
  • Collections Algorithms
  • Algorithm sort
  • Algorithm shuffle
  • Algorithms reverse, fill, copy, max and min
  • Algorithm binarySearch
  • Stack Class of Package java.util
  • Class PriorityQueue and Interface Queue
  • Sets
  • Maps


  • Thread States: Life Cycle of a Thread
  • Thread Priorities and Thread Scheduling
  • Creating and Executing Threads
  • Runnable s and the Thread Class
  • Thread Management with the Executor Framework
  • Thread Synchronization
  • Unsynchronized Data Sharing
  • Synchronized Data Sharing—Making Operations Atomic
  • Producer/Consumer Relationship without Synchronization
  • Producer/Consumer Relationship: ArrayBlockingQueue
  • Producer/Consumer Relationship with Synchronization
  • Producer/Consumer Relationship: Bounded Buffers
  • Producer/Consumer Relationship: The Lock and Condition Interfaces
  • Multithreading with GUI: Performing Computations in a Worker Thread
  • Multithreading with GUI: Processing Intermediate Results with SwingWorker

Optional Object-Oriented Design (OOD) with the Unified Modeling Language (UML) Case Study

An optional topic for our object-oriented programming classes is our case study on object-oriented design using the UML in which we design and fully implement the software for a simple automated teller machine (ATM). We introduce a subset of the UML 2.0, then guide the reader through an end-to-end first object-oriented design and implementation experience which ends with a walkthrough of the complete code. 


  • $12,995 lecture fee for up to 20 students maximum.  Add $1,000 for international or custom classes.
  • Client purchases the books, at its own expense, directly from Pearson (the publisher) at the discounted Deitel rate.
  • Instructor Travel Reimbursement (if travel is required).

Courses in the Java Programming Curriculum

Advanced Java Java for C++ or C# Programmers Java for Visual Basic, C or COBOL Programmers Introduction to Java for Non-Programmers: Part 2 Introduction to Java for Non-Programmers: Part 1


Safari Trial Subscriptuon

Update :: December 06, 2019