The Object of Java / Edition 2

The Object of Java / Edition 2

by David Riley

ISBN-10: 0321331583

ISBN-13: 9780321331588

Pub. Date: 09/16/2005

Publisher: Addison-Wesley

Shelving Tag: Programming Languages/Java™

The Object of Java, 2/e
David D. Riley, University of Wisconsin-LaCrosse
ISBN 0-321-33158-3

The Object of Java uses an “object-centric” approach to give students a solid introduction to the power of programming with Java. This edition…  See more details below


Shelving Tag: Programming Languages/Java™

The Object of Java, 2/e
David D. Riley, University of Wisconsin-LaCrosse
ISBN 0-321-33158-3

The Object of Java uses an “object-centric” approach to give students a solid introduction to the power of programming with Java. This edition fully incorporates features of the Java 5.0 language, along with the use of Java’s awt and swing classes, providing students with an opportunity to practice the skills and techniques that serve as the building blocks of modern software development.
The Object of Java, Second Edition features:

  • Greater emphasis on objects–goes beyond an “early-objects” focus, making objects a theme from the very start. Includes examples and exercises that explore object-oriented programming and clarifies how it applies to software engineering.
  • Software engineering focus–weaves software engineering programming skills into every topic. Incorporates the use of Unified Modeling Language (UML), pattern-based programming, and pre- and post-conditions.
  • New Java 5.0–the advantages of this language upgrade include the use of generics, the assert statement, enumerated data types, the Scanner class, and discussions on the for loop statement.
  • Swing and awt–preserves and enhances the text’s fundamental reliance on Java’s “real” external classes and gentle introduction to applications with graphical user interfaces (GUIs).
  • Over 80 complete programexamples.

David D. Riley is a professor in the Department of Computer Science at the University of Wisconsin-La Crosse, where he teaches programming for beginners and for experienced programmers. His areas of specialty include object-oriented software development, software engineering, and computer security. He holds a Ph.D. in computer science from the University of Iowa. Professor Riley is the author of other programming books, including The Object of Data Abstraction and Structures Using Java.
For more information about Addison-Wesley computing books visit

Read More

Product Details

Publication date:
Edition description:
Product dimensions:
7.38(w) x 9.10(h) x 1.21(d)

Table of Contents

Preface for the Student
Chapter 1 - Objects and Classes
1.1 Objects Everywhere
1.2 Objects in Software
1.3 Anatomy of a Software Class
1.4 The Difference between Objects and Classes
1.5 Edit, Compile, and Run
1.6 Introduction to Software Engineering
1.7 A Sample of Object-Oriented Software Development

Chapter 2 - Introduction to Java Objects
2.1 Syntax Diagrams
2.2 The Method Call
2.3 Instruction Sequences
2.4 Constructing and Assigning Objects
2.5 Coding Patterns and Swapping
2.6 Putting It Together in a Java Class
2.7 Programming by Contract
2.9 Observing Execution
2.10 Refining Algorithms–Divide and Conquer
2.11 Selecting Identifiers
2.12 A Second Example of Refinement
2.13 Calling Methods with Parameters

Chapter 3 - Introduction to Design and Implementation
3.1 Introduction to Standard Classes
3.2 Import Declarations
3.3 javax.swing.JFrame
3.4 java.awt.Label
3.5 Nonstandard Classes (Rectangle, Oval, and Line)
3.6 Prototyping
3.7 Debugging: Commenting Out Code and Using System.out.println

Chapter 4 - Methods
4.1 The Need for a Subprogram
4.2 Private Parameterless Methods
4.3 Using Parameters
4.4 Local Variables
4.5 Non-Void Methods
4.6 Standard Non-Void Methods
4.7 Introduction to Event Handling
4.8 Postcondition Notation
4.9 java.awt.Container–A Design Example

Chapter 5 - PrimitiveData
5.1 Primitive Types
5.2 Primitive Integer Data Types
5.3 Differences between Primitives and References
5.4 Real Numbers (float and double Types)
5.5 System.out.println Revisited
5.6 Mixed Type Numeric Expressions
5.7 Primitive Methods (Including Math)
5.8 Constants (final)
5.9 Numeric Expression Patterns
5.10 char Data Type
5.11 Design Example–Dynamic Histogram

Chapter 6 - Supplier Classes
6.1 Clients and Suppliers in Software
6.2 Another Client
6.3 Suppliers
6.4 Scope and Lifetime
6.5 Class Interface Design Principles
6.6 Separating Read and Write Access
6.7 Method Overloading
6.8 this
6.9 Enumerated Data Types
6.10 String
6.11 JTextField (Optional)

Chapter 7 - Logic and Selection
7.1 The if instruction
7.2 Relational Expressions
7.3 Boolean Expressions
7.4 Conditional Evaluation
7.5 Predicates
7.6 The Use of implies
7.7 Nesting if Instructions
7.8 Multiway Selection
7.9 The switch Instruction
7.10 Software Testing
7.11 Logic and Programming (Optional)
7.12 Assertions Revisited

Chapter 8 - Inheritance
8.1 Extends
8.2 Class Relations: contains_a and is_a
8.3 Specialization and Extension–javax.swing.JComponent
8.4 Protected Scope
8.5 Inheriting for Event Handling
8.6 Animating by Inheriting EventTimer (Optional)
8.7 Design Example with Sliders and Text Fields (Optional)
8.8 Summary

Chapter 9 - Polymorphism
9.1 Inheritance Hierarchies
9.2 Type Conformance
9.3 Subtype Polymorphism
9.4 Abstract Classes
9.5 The Object Class
9.6 Equality by Content and by Identity
9.7 Using Interfaces

Chapter 10 - Repetition
10.1 The while Loop
10.2 Counting Loops
10.3 Sentinel Loops
10.4 Loop Design Cautions
10.5 Nested Loops
10.6 The do Loop
10.7 The for Loop
10.8 Loop Invariants
10.9 Looping and Event Handling
10.10 Testing and Loops

Chapter 11 - Containers
11.1 Containers
11.2 Generic Containers
11.3 Wrapper Classes and Autoboxing/Unboxing
11.4 Lists
11.5 List Traversal
11.6 Linear Searching
11.7 Sorting by Insertion
11.8 Generic Sorting (Optional)

Chapter 12 - Introduction to Arrays
12.1 One-Dimensional Arrays
12.2 Keeping Indices in Bounds
12.3 Sequential Processing with for Loops
12.4 Treating Arrays in Aggregate
12.5 Tables
12.6 Arrays with Reference Items
12.7 Arrays and Objects
12.8 Sorting–the Selection Sort
12.9 Two-Dimensional Arrays

Chapter 13 - File Input and Output
13.1 Files
13.2 The Java File Class
13.3 I/O Exceptions
13.4 Input and Output
13.5 DataInputStream and DataOutputStream
13.6 Text Files
13.7 Terminal-Style I/O (Optional)
13.8 Persistent Objects (Optional)
13.9 JFileChooser (Optional)

Chapter 14 - Recursion
14.1 Recursive Definition
14.2 From Recursive Definition to Method
14.3 Recursive Methods
14.4 Recursive Execution
14.5 Recursion and Repetition
14.6 More Complicated Forms of Recursion

Chapter 15 - Applications and Applets
15.1 static Variables
15.2 static Methods
15.3 Applications
15.4 Applets
15.5 Creating Packages (Optional)
15.6 Using Packages

Appendix A Introduction to Computing Systems
Appendix B Java Syntax Diagrams
Appendix C Precedence of Java Operations
Appendix D Library Software
Appendix E UML Notation
Appendix F Programming Using Windows

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >