Textbook
Developing Java Software, 3rd EditionISBN: 978-0-470-09025-1
Paperback
912 pages
November 2006, ©2006
This is a Print-on-Demand title. It will be printed specifically to fill your order. Please allow an additional 10-15 days delivery time. The book is not returnable.
|
Part 1 Programming with Objects and Classes.
1 Introduction.
1.1 The Start.
1.2 A (Very!) Short History of Java.
1.3 Being at the Right Place at the Right Time.
1.4 What is Java?
1.5 Abstraction: The Critical Core of Programming.
1.6 The Java 2 Platform.
1.7 Java is Architecture Neutral.
1.8 Java and its Jokes.
1.9 Summary.
2 Programming Fundamentals.
2.1 Introduction.
2.2 Abstraction and the Big Picture.
2.3 Statement Sequences.
2.4 Iteration.
2.5 Selection.
2.6 State.
2.7 Writing a Simple Java Program.
2.8 Comments.
2.9 Output Statements.
2.10 Input Statements.
2.11 Interactive Programs.
2.12 Summary.
Self-review Questions.
Programming Exercises.
Challenges.
3 Adding Structure.
3.1 Introduction.
3.2 Abstraction and Encapsulation.
3.3 Methods.
3.4 Writing Programs with Methods.
3.5 Procedural Decomposition.
3.6 Encapsulation.
3.7 Some More Operators.
3.8 Some More Control Statements.
3.9 Some More Example Programs.
3.10 Summary.
4 Introducing Containers.
4.1 Introduction.
4.2 Arrays.
4.3 Container Classes.
4.4 Data Files.
4.5 Summary.
5 Drawing Pictures.
5.1 Introduction.
5.2 Creating Drawings.
5.3 Properties of Drawings.
5.4 Drawing Text.
5.5 Example Programs.
5.6 Summary.
6 Classes and Objects.
6.1 Introduction.
6.2 Creating New Data Types.
6.3 Generic Classes.
6.4 Method Names and Scope.
6.5 Object Initialization.
6.6 Objects and References.
6.7 Static Variables and Methods.
6.8 Example Classes.
6.9 Programming with Classes and Objects.
6.10 Enumerated Types.
6.11 An Example—Creating Bridge Hands.
6.12 Summary.
7 Class Relationships.
7.1 Introduction.
7.2 Association.
7.3 Inheritance.
7.4 Reuse: Inheritance vs. Association.
7.5 Inheritance Hierarchies.
7.6 Interfaces and Type Conformance.
7.7 Comparing Objects for Equality.
7.8 Nested Classes.
7.9 Packages.
7.10 Class Matrix Revisited.
7.11 Reusability and Components.
7.12 Summary.
8 Exceptions.
8.1 What’s the Problem?
8.2 Kinds of Errors.
8.3 Representing Exceptions.
8.4 Throwing an Exception.
8.5 Catching Exceptions.
8.6 The Finally Block.
8.7 Plan to Use Exceptions.
8.8 Some Examples.
8.9 Summary.
9 Introducing Concurrency with Threads.
9.1 Doing More Than One Thing At Once.
9.2 Threads.
9.3 Using Threads.
9.4 Thread Synchronization.
9.5 Thread Scheduling.
9.6 Example Programs.
9.7 Summary.
10 User Interfaces.
10.1 Introduction.
10.2 Core GUI Concepts.
10.3 Text Input with a GUI.
10.4 A Very Simple Text Editor.
10.5 Menus.
10.6 Painting.
10.7 Summary.
Part 2 The Process of Programming.
11 The Programming Process.
11.1 Introduction.
11.2 Why Object-oriented?
11.3 Development Tasks.
11.4 Testing Strategies.
11.5 UML Class, Object and Sequence Diagrams.
11.6 Practice and Experience.
11.7 Summary.
12 Unit Testing.
12.1 Introduction.
12.2 Unit Testing—A First Example.
12.3 The Core Principles of Unit Testing.
12.4 Test-driven Development.
12.5 The TestNG Framework.
12.6 Extending the Person Class.
12.7 Summary.
13 Test-driven Programming Strategies.
13.1 Introduction.
13.2 Getting Started—Searching for Files.
13.3 The GUI.
13.4 The Complete Searcher.
13.5 Summary.
14 Programming Tools.
14.1 Introduction.
14.2 Project Structure.
14.3 Ant—The Build Tool.
14.4 Version Control.
14.5 Integrated Development Environments.
14.6 Summary.
Part 3 Case Studies in Developing Programs.
15 Introducing the Case Studies.
15.1 Introduction.
15.2 The Case Studies.
15.3 The Presentations of the Case Studies.
16 Contacts Book.
16.1 Introduction.
16.2 Wading In.
16.3 Stepping Back—Some Research.
16.4 Data Storage.
16.5 A GUI Design.
16.6 Displaying the List of Contacts.
16.7 Menus and Action.
16.8 More to Do.
17 Pedestrian Crossing Simulation.
17.1 Introduction.
17.2 The Initial Problem Specification.
17.3 The Initial Thinking.
17.4 A First Pass.
17.5 Getting GUI.
17.6 GUIer and GUIer.
17.7 Control… We Have a Problem.
17.8 Onward.
17.9 Summary.
Part 4 The Java Programming Language in Detail.
18 A Java Language Reference.
18.1 Introduction.
18.2 Syntax and Semantics.
18.3 The Presentation.
18.4 The Example Programs.
18.5 Summary.
19 Variables, Types and Expressions.
19.1 Introduction.
19.2 Comments.
19.3 Identifiers.
19.4 Unicode Escapes.
19.5 Literals.
19.6 Types.
19.7 Scope.
19.8 Variables.
19.9 Expressions and Operators.
19.10 Source Files.
19.11 Summary.
20 Flow Control.
20.1 Introduction.
20.2 Selection.
20.3 Iteration.
20.4 Transfer Statements.
20.5 Recursion.
20.6 Summary.
21 Classes and Packages.
21.1 Introduction.
21.2 Classes.
21.3 Top-Level Classes.
21.4 Nested Classes.
21.5 Enumerated Types.
21.6 Packages.
21.7 Static Import.
21.8 Summary.
22 Inheritance and Interfaces.
22.1 Introduction.
22.2 Inheritance.
22.3 Interfaces.
22.4 Annotations.
22.5 Summary.
23 Exception Handling.
23.1 Introduction.
23.2 Summary.
24 Threads and Concurrency.
24.1 Introduction.
24.2 Class Thread.
24.3 Synchronized Methods.
24.4 Synchronized Statement.
24.5 Summary.
Part 5 Endmatter.
Appendix A Glossary.
Appendix B The CRC Method.
Appendix C The Online Documentation.
Appendix D Running Java Programs.
Appendix E Class Input.
Appendix F Class FileInput.
Appendix G Class FileOutput.
Appendix H Class DrawFrame.
Appendix I Class DrawPanel.
Appendix J Bibliography.
Index.