Bruce Eckel’s Thinking in Java |
Contents | Prev | Next |
- Dedication
- Foreword
- Introduction
- 1: Introduction to objects
-
- The progress of abstraction
- An object has an interface
- The hidden implementation
- Reusing the implementation
- Inheritance: reusing the interface
- Interchangeable objects with polymorphism
- Object landscapes and lifetimes
- Exception handling: dealing with errors
- Multithreading
- Persistence
- Java and the Internet
- Analysis and Design
- Java vs. C++?
- 2: Everything is an object
- 3: Controlling program flow
-
- Using Java operators
-
- Precedence
- Assignment
- Mathematical operators
- Auto increment and decrement
- Relational operators
- Logical operators
- Bitwise operators
- Shift operators
- Ternary if-else operator
- The comma operator
- String operator +
- Common pitfalls when using operators
- Casting operators
- Java has no “sizeof”
- Precedence revisited
- A compendium of operators
- Execution control
- Summary
- Exercises
- 4: Initialization and cleanup
- 5: Hiding the implementation
- 6: Reusing classes
- 7: Polymorphism
- 8: Holding your objects
- 9: Error handling with exceptions
- 10: The Java IO system
-
- Input and output
- Adding attributes and useful interfaces
- Off by itself: RandomAccessFile
- The File class
- Typical uses of IO streams
- StreamTokenizer
- Java 1.1 IO streams
- Compression
- Object serialization
- Summary
- Exercises
- 11: Run-time type identification
- 12: Passing and returning objects
-
- Passing handles around
- Making local copies
- Controlling cloneability
- Read-only classes
- Summary
- Exercises
- 13: Creating windows and applets
-
- Why use the AWT?
- The basic applet
- Making a button
- Capturing an event
- Text fields
- Text areas
- Labels
- Check boxes
- Radio buttons
- Drop-down lists
- List boxes
- Controlling layout
- Alternatives to action
- Applet restrictions
- Windowed applications
- The new AWT
- Java 1.1 UI APIs
- Visual programming and Beans
- Introduction to Swing
- Summary
- Exercises
- 14: Multiple threads
- 15: Network programming
- 16: Design patterns
- 17: Projects
- A: Using non-Java code
- B: Comparing C++ and Java
- C: Java programming guidelines
- D: Performance
- E: A bit about garbage collection
- F: Recommended reading
- Index