Preface. 1. A Quick Tour of Java. Getting Started.
Variables.
Comments in Code.
Named Constants.
Flow of Control.
Classes and Objects.
Methods and Parameters.
Arrays.
String Objects.
Extending a Class.
Interfaces.
Exceptions.
Packages.
The Java Infrastructure.
Other Topics Briefly Noted.
2. Classes and Objects. A Simple Class.
Fields.
Access Control and Inheritance.
Creating Objects.
Constructors.
Methods.
this.
Overloading Methods.
Static Members.
Garbage Collection and finalize.
main.
The toString Method.
native Methods.
3. Extending Classes. An Extended Class.
What protected Really Means.
Constructors in Extended Classes.
Overriding Methods and Hiding Fields.
Marking Methods and Classes final.
The Object Class.
Abstract Classes and Methods.
Cloning Object.
Extending Classes: How and When.
Designing a Class to be Extended.
4. Interfaces. An Example Interface.
Single Inheritance versus Multiple Inheritance.
Extending Interfaces.
Implementing Interfaces.
Using an Implementation.
When to Use Interfaces.
5. Tokens, Operators, and Expressions. Character Set.
Comments.
Tokens.
Identifiers.
Primitive Types.
Literals.
Declarations of Variables.
Array Variables.
Initial Values.
Operator Precedence and Associativity.
Order of Evaluation.
Expression Type.
Type Conversions.
Member Access.
Arithmetic Operators.
Increment and Decrement Operators.
Relational and Conditional Operators.
Bit Operators.
The Conditional Operator ?:.
Assignment Operators.
Package Names.
6. Control Flow. Statements and Blocks.
if-else.
switch.
while and do-while.
for.
Labels.
break.
continue.
return.
What, No goto?
7. Exceptions. Creating Exception Types.
throw.
The throws Clause.
try, catch, and finally.
When to Use Exceptions.
8. Strings. Basic String Operations.
String Comparisons.
Utility Functions.
Making Related Strings.
String Conversions.
Strings and char Arrays.
Strings and byte Arrays.
The StringBuffer Class.
9. Threads. Creating Threads.
Synchronization.
wait and notify.
Details of wait and notify.
Thread Scheduling.
Deadlocks.
Suspending Threads.
Interrupting Threads.
Ending Thread Execution.
Ending Application Execution.
Using Runnable.
volatile.
Thread Security and ThreadGroup.
Debugging Threads.
10. Packages. Package Naming.
Package Access.
Package Contents.
11. The I/O Package. Streams.
InputStream.
OutputStream.
Standard Stream Types.
Filter Streams.
PrintStream.
Buffered Streams.
ByteArray Streams.
StringBufferInputStream.
File Streams and FileDescriptor.
Piped Stream.
SequenceInputStream.
LineNumberInputStream.
PushbackInputStream.
StreamTokenizer.
Data Streams.
RandomAccessFile.
The File Class.
FilenameFilter.
The IOException Classes.
12. Standard Utilities. BitSet.
Enumeration.
Implementing an Enumeration Interface.
Vector.
Stack.
Dictionary.
Hashtable.
Properties.
Observer/Observable.
Date.
Random.
StringTokenizer.
13. Programming with Types. Class.
Loading Classes.
Wrapper Classes: An Overview.
Boolean.
Character.
Number.
Integer.
Long.
Float and Double.
14. System Programming. Standard I/O Stream.
Memory Management.
System Properties.
Creating Processes.
Runtime.
Miscellaneous.
Security.
Math.
Appendix A: Native Methods. Overview.
The C and C++ Mapping.
An Example: Internals for LockableFile.
Strings.
Arrays.
Creating Objects.
Invoking Methods.
A Final Caution.
Appendix B: Java Runtime Exceptions. RuntimeException Classes.
Error Classes.
Appendix C: Useful Tables. Bibliography. Index. 0201634554T04062001