The Java Programming Language, 3/e

Ken Arnold, James Gosling, David Holmes

  • 出版商: Addison Wesley
  • 出版日期: 2000-06-05
  • 售價: $1,840
  • 貴賓價: 9.5$1,748
  • 語言: 英文
  • 頁數: 704
  • 裝訂: Paperback
  • ISBN: 0201704331
  • ISBN-13: 9780201704334
  • 相關分類: Java 程式語言
  • 已過版

買這商品的人也買了...

相關主題

商品描述


Description

This is the definitive Java book written by the inventors of the language. Thoroughly revised from start to finish, this new edition describes the newest version of the Java programming language, version 1.3 of the Java 2 platform Standard Edition. More than just API updates, this third edition has been restructured to give more in-depth treatment of the newer language features, as well as informative examples on using the new core classes like the collections and internationalization packages.

Direct from the creators of the Java™ programming language, this Third Edition provides unique insights into why and how the language was designed and intended to be used. More advanced students will find this new edition to be a valuable reference, and will gain new insights into the subtleties of the language. Beginning and intermediate students will benefit from the valuable examples and clear explanations of language and library features.

Back to Top


Appropriate Courses

Java--Intermediate Programming.

Back to Top


Table Of Contents

1. A Quick Tour.
Getting Started.
Variables.
Comments in Code.
Named Constants.
Unicode Characters.
Flow of Control.
Classes and Objects.
Creating Objects.
Static or Class Fields.
The Garbage Collector.

Methods and Parameters.
Invoking a Method.
The this Reference.
Static or Class Methods.

Arrays.
String Objects.
Extending a Class.
Invoking Methods from the Superclass.
The Object Class.
Type Casting.

Interfaces.
Exceptions.
Packages.
The Java Platform.
Other Topics Briefly Noted.

2. Classes and Objects.
A Simple Class.
Class Members.
Class Modifiers.

Fields.
Field Initialization.
Static Fields.
final Fields.

Access Control.
Creating Objects.
Construction and Initialization.
Constructors.
Initialization Blocks.
Static Initialization.

Methods.
Static Methods.
Method Invocations.
Method Execution and Return.
Parameter Values.
Using Methods to Control Access.

This.
Overloading Methods.
The main Method.
Native Methods.

3. Extending Classes.
An Extended Class.
Constructors in Extended Classes.
Constructor Order Dependencies.

Inheriting and Redefining Members.
Overriding.
Hiding Fields.
Accessing Inherited Members.
Accessibility and Overriding.
Hiding Static Members.
The super Keyword.

Type Compatibility and Conversion.
Compatibility.
Explicit Type Casting.
Testing for Type.

What protected Really Means.
Marking Methods and Classes final.
Abstract Classes and Methods.
The Object Class.
Cloning Objects.
Strategies for Cloning.
Correct Cloning.
Shallow versus Deep Cloning.

Extending Classes: How and When.
Designing a Class to Be Extended.
Designing an Extensible Framework.

Single Inheritance versus Multiple Inheritance.

4. Interfaces.
A Simple Interface Example.
Interface Declarations.
Interface Constants.
Interface Methods.
Interface Modifiers.

Extending Interfaces.
Inheriting and Hiding Constants.
Inheriting, Overriding, and Overloading Methods.

Working with Interfaces.
Implementing Interfaces.
Using an Implementation.

Marker Interfaces.
When to Use Interfaces.

5. Nested Classes and Interfaces.
Static Nested Types.
Static Nested Classes.
Nested Interfaces.

Inner Classes.
Accessing Enclosing Objects.
Extending Inner Classes.
Inheritance, Scoping, and Hiding.

Local Inner Classes.
Anonymous Inner Classes.
Inheriting Nested Types.
Nesting in Interfaces.
Modifiable Variables in Interfaces.

Implementation of Nested Types.

6. Tokens, Operators, and Expressions.
Lexical Elements.
Character Set.
Comments.
Tokens.
Identifiers.
Keywords.

Types and Literals.
Reference Literals.
Boolean Literals.
Character Literals.
Integer Literals.
Floating*Point Literals.
String Literals.
Class Literals.

Variables.
Field and Local Variable Declarations.
Parameter Variables.
final Variables.

Array Variables.
Array Modifiers.
Arrays of Arrays.
Array Initialization.
Arrays and Types.

The Meanings of Names.
Arithmetic Operations.
Integer Arithmetic.
Floating*Point Arithmetic.
Strict and non*Strict Floating*Point Arithmetic.

General Operators.
Increment and Decrement Operators.
Relational and Equality Operators.
Logical Operators.
instanceof.
Bit Manipulation Operators.
The Conditional Operator ?:.
Assignment Operators.
String Concatenation Operator.
new.

Expressions.
Order of Evaluation.
Expression Type.
Implicit Type Conversions.
Explicit Type Casts.
String Conversions.

Member Access.
Finding the Right Method.

Operator Precedence and Associativity.

7. Control Flow.
Statements and Blocks.
if-else.
switch.
while and do-while.
for.
Labels.
break.
continue.
return.
What, No goto?

8. Exceptions.
Creating Exception Types.
throw.
Transfer of Control.
Asynchronous Exceptions.

The throws Clause.
throws Clauses and Method Overriding.
throws Clauses and Native Methods.

try, catch, and finally.
finally.

When to Use Exceptions.

9. Strings.
Basic String Operations.
String Comparisons.
String Literal Equivalence.

Utility Methods.
Making Related Strings.
String Conversions.
Strings and char Arrays.
Strings and byte Arrays.
Character Encodings.

The StringBuffer Class.
Modifying the Buffer.
Getting Data Out.
Capacity Management.


10. Threads.
Creating Threads.
Using Runnable.
Synchronization.
synchronized Methods.
Static Synchronized Methods.
synchronized Statements.
Synchronization Designs.

wait, notifyAll, and notify.
Details of Waiting and Notification.
Thread Scheduling.
Voluntary Rescheduling.

Deadlocks.
Ending Thread Execution.
Cancelling a Thread.
Waiting for a Thread to Complete.

Ending Application Execution.
volatile.
Thread Management, Security and ThreadGroup.
Threads and Exceptions.
Don't stop.

ThreadLocal Variables.
Debugging Threads.

11. Programming with Types.
Wrapper Classes.
Void.
Boolean.
Character.
Number.
The Integer Wrappers.
The Floating*Point Wrapper Classes.

Reflection.
The Class class.
Naming Classes.
Examining Class Members.
The Modifier Class.
The Field Class.
The Method Class.
Creating New Objects and the Constructor Class.
Access Checking and AccessibleObject.
Arrays.
Packages.
The Proxy Class.

Loading Classes.
The ClassLoader Class.
Preparing a Class for use.
Loading Related Resources.


12. Garbage Collection and Memory.
Garbage Collection.
A Simple Model.
Finalization.
Resurrecting Objects during finalize.

Interacting with the Garbage Collector.
Reachability States and Reference Objects.
The Reference Class.
Strengths of Reference and Reachability.
Reference Queues.


13. Packages.
Package Naming.
Type Imports.
Package Access.
Accessibility and Overriding Methods.

Package Contents.
Package Objects and Specifications.

14. Documentation Comments.
The Anatomy of a Doc Comment.
Tags.
@see.
{@link}.
@param.
@return.
@throws and @exception.
@deprecated.
@author.
@version.
@since.
{@docRoot}.

An Example.
External Conventions.
Overview and Package Documentation.
The doc*files Directory.

Notes on Usage.

15. The I/O Package.
Byte Streams.
InputStream.
OutputStream.

Character Streams.
Reader.
Writer.
Character Streams and the Standard Streams.

InputStreamReader and OutputStreamWriter.
A Quick Tour of The Stream Classes.
Synchronization and Concurrency.
Filter Streams.
Buffered Streams.
Piped Streams.
ByteArray Byte Streams.
CharArray Character Streams.
String Character Streams.
Print Streams.
LineNumberReader.
SequenceInputStream.
Pushback Streams.
StreamTokenizer.

The Data Byte Streams.
DataInput and DataOutput.
The Data Stream Classes.

Working with Files.
File Streams and FileDescriptor.
RandomAccessFile.
The File Class.
FilenameFilter and FileFilter.

Object Serialization.
The Object Byte Streams.
Making Your Classes Serializable.
Serialization and Deserialization Order.
Customized Serialization.
Object Versioning.
Serialized Fields.
The Externalizable Interface.
Documentation Comment Tags.

The IOException Classes.

16. Collections.
Collections.
Exception Conventions.

Iteration.
Ordering using Comparable and Comparator.
The Collection Interface.
Set and SortedSet.
HashSet.
TreeSet.

List.
ArrayList.
LinkedList.

Map and SortedMap.
HashMap.
TreeMap.
WeakHashMap.

Wrapped Collections and the Collections Class.
The Synchronization Wrappers.
The Unmodifiable Wrappers.
The Collections Utilities.

The Arrays Utility Class.
Writing Iterator Implementations.
Writing Collection Implementations.
The Legacy Collection Types.
Enumeration.
Vector.
Stack.
Dictionary.
Hashtable.

Properties.

17. Miscellaneous Utilities.
BitSet.
Observer/Observable.
Random.
StringTokenizer.
Timer and TimerTask.
Math and StrictMath.

18. System Programming.
The System Class.
Standard I/O Streams.
System Properties.
Utility Methods.

Creating Processes.
The Process Class.
Process Environments.
Portability.

Shutdown.
Shutdown Hooks.
The Shutdown Sequence.
Shutdown Strategies.

The Rest of the Runtime.
Loading Native Code.
Debugging.

Security.
The SecurityManager Class.
Permissions.
Security Policies.
Access Controllers and Privileged Execution.


19. Internationalization and Localization.
Locale.
Resource Bundles.
ListResourceBundle.
PropertyResourceBundle.
Subclassing ResourceBundle.

Time, Dates, and Calendars.
Calendars.
Time Zones.
GregorianCalendar and SimpleTimeZone.

Formatting and Parsing Dates and Times.
Internationalization and Localization for Text.
Collation.
Formatting and Parsing.
Text Boundaries.


20. Standard Packages.
java.awt---The Abstract Window Toolkit.
java.applet---Applets.
java.beans---Components.
java.math---Mathematics.
java.net---The Network.
java.rmi---Remote Method Invocation.
java.security --- Security Tools.
java.sql --- Relational Database Access.
Utility Subpackages.
Archive Files---java.util.jar.
ZIP Files---java.util.zip.

javax.*---Standard Extensions.
javax.accessibility --- Accessibility for GUIs.
javax.naming---Directory and Naming Services.
javax.sound---Sound Manipulation.
javax.swing --- Swing GUI Components.
org.omg.CORBA --- CORBA APIs.

Appendix A. Runtime Exceptions.
RuntimeException Classes.
Error Classes.

Appendix B Useful Tables.
Table 1: Keywords.
Table 2: Operator Precedence.
Table 3: Unicode Digits.
Table 4: Unicode Letters and Digits.
Table 5: Special Characters Using \.
Table 6: Documentation Comment Tags.
Table 7: Unicode Character Blocks.

Further Reading.
Index. 0201704331T04062001



Back to Top