This introductory programming textbook integrates BlueJ with Java. It provides a thorough treatment of object-oriented principles.
NOTE: This TOC is as of 3/8/2008. This is subject to change between now and the book's publication date. Part
1 FOUNDATIONS OF OBJECT ORIENTATION
Chapter
1 Objects and classes
1.1 Objects and classes
1.2 Creating objects
1.3 Calling methods
1.4 Parameters
1.5 Data types
1.6 Multiple instances
1.7 State
1.8 What is in an object?
1.9 Object interaction
1.10 Source code
1.11 Another example
1.12 Return values
1.13 Objects as parameters
1.14 Summary
Chapter
2 Understanding class definitions
2.1 Ticket machines
2.1.1 Exploring the behavior of a nave ticket machine
2.2 Examining a class definition
2.3 Fields, constructors, and methods
2.3.1 Fields
2.3.2 Constructors
2.4 Passing data via parameters
2.5 Assignment
2.6 Accessor methods
2.7 Mutator methods
2.8 Printing from methods
2.9 Summary of the nave ticket machine
2.10 Reflecting on the design of the ticket machine
2.11 Making choices: the conditional statement
2.12 A further conditional-statement example
2.13 Local variables
2.14 Fields, parameters, and local variables
2.15 Summary of the better ticket machine
2.16 Self-review exercises
2.17 Reviewing a familiar example
2.18 Summary
Chapter
3 Object interaction
3.1 The clock example
3.2 Abstraction and modularization
3.3 Abstraction in software
3.4 Modularization in the clock example
3.5 Implementing the clock display
3.6 Class diagrams versus object diagrams
3.7 Primitive types and object types
3.8 The ClockDisplay source code
3.8.1 Class NumberDisplay
3.8.2 String concatenation
3.8.3 The modulo operator
3.8.4 Class ClockDisplay
3.9 Objects creating objects
3.10 Multiple constructors
3.11 Method calls
3.11.1 Internal method calls
3.11.2 External method calls
3.11.3 Summary of the clock display
3.12 Another example of object interaction
3.12.1 The mail system example
3.12.2 The this keyword
3.13 Using a debugger
3.13.1 Setting breakpoints
3.13.2 Single stepping
3.13.3 Stepping into methods
3.14 Method calling revisited
3.15 Summary
Chapter
4 Grouping objects
4.1 Grouping objects in flexible-size collections
4.2 A personal notebook
4.3 A first look at library classes
4.3.1 An example of using a library
4.4 Object structures with collections
4.5 Generic classes
4.6 Numbering within collections
4.7 Removing an item from a collection
4.8 Processing a whole collection
4.8.1 The for-each loop
4.8.2 The while loop
4.8