CHAPTER 1 Getting Started 1
About the Java Technology 2
How Will Java Technology Change My Life? 7
First Steps(Win32) 8
First Steps (UNIX/Linux) 16
First Steps (MacOS) 24
A Closer Look at HelloWorld 32
Questions and Exercises 41
Code Samples 43
CHAPTER 2 Object-Oriented Programming Concepts 45
What Is an Object? 46
What Is a Message? 48
What Is a Class? 49
What Is Inheritance? 52
What Is an Interface? 54
How Do These Concepts Translate into Code? 55
Summary 61
Questions and Exercises 62
Code Samples 63
CHAPTER 3 Language Basics 65
Variables 67
Operators 76
Expressions, Statements, and Blocks 94
Control Flow Statements 99
Code Samples 117
CHAPTER 4 Object Basics and Simple Data Objects 119
The Life Cycle of an Object 120
Characters and Strings 132
Numbers 149
Arrays 165
Code Samples 174
CHAPTER 5 Classes and Inheritance 177
Creating Classes 178
Managing Inheritance 204
Implementing Nested Classes 218
Code Samples 224
CHAPTER 6 Interfaces and Packages 227
Creating and Using Interfaces 228
Creating and Using Packages 234
Code Samples 242
CHAPTER 7 Handling Errors Using Exceptions 243
What Is an Exception? 244
The Catch or Specify Requirement 245
Catching and Handling Exceptions 246
Specifying the Exceptions Thrown by a Method 255
How to Throw Exceptions 255
Runtime Exceptions The Controversy 260
Advantages of Exceptions 260
Summary of Exceptions 265
Questions and Exercises 266
Code Samples 268
CHAPTER 8 Threads: Doing Two or More Tasks at Once 269
What Is a Thread? 271
Using the Timer and TimerTask Classes 273
Customizing a Thread's run Method 277
The Life Cycle of a Thread 281
Understanding Thread Priority 286
Synchronizing Threads 291
Grouping Threads 301
Summary of Threads 307
Questions and Exercises 309
Code Samples 310
CHAPTER 9 I/O: Reading and Writing 313
Overview of I/O Streams 314
Using the Streams 318
Object Serialization 334
Working with Random Access Files 340
And the Rest 345
Summary of Reading and Writing 346
Questions and Exercises 346
Code Samples 348
CHAPTER 10 User Interfaces That Swing 351
Overview of the Swing APl 352
Your First Swing Program 353
Example Two: SwingApplication 356
Example Three: CelsiusConverter 361
Example Four: LunarPhases 364
Example Five: VoteDialog 368
Layout Management 375
Threads and Swing 378
Visual Index to Swing Components 381
Summary 387
Questions and Exercises 388
Code Samples 390
APPENDIX A Common Problems and Their Solutions 391
Getting Started Problems 391
General Programming Problems 396
Applet Problems 397
User Interface Problems 399
APPENDIX B Internet-Ready Applets 407
Overview of Applets 409
AWT Components 419
Taking Advantage of the Applet API 423
Practical Considerations of Writing Applets 442
Finishing an Applet 454
Swing-Based Applets 457
Code Samples 463
APPENDIX C Collections 467
Introduction 468
Interfaces 470
Implementations 508
Algorithms 515
Custom Implementations 520
Interoperability 523
APPENDIX D Deprecated Thread Methods 527
Why Is Thread .stop Deprecated? 527
Why Are Thread. suspend and Thread. resume Deprecated? 530
What about Th read. destroy? 533
Why Is Runti me. runFi hal i zersOnExi t Deprecated? 534
APPENDIX E Reference 535
Java Programming Language Keywords 535
Operator Precedence 536
The <APPLET> Tag 537
POSIX Conventions for Command Line Arguments 539
Integrated Development Environments 540
Path Help 540
Index 545