Java 1.1 Overview
By Bruce Eckel
Several weeks before I wrote this column, Java 1.1 was officially released. The changes aren't trivial: The number of packages has increased from 8 to 23, and the number of classes and interfaces, from 211 to 503. The official documentation adds to the confusion -- some parts link to a page or example that simply isn't there, with no explanation.
However, when you download the Java Development Kit (JDK) 1.1 from JavaSoft, you can also download a partially updated online version of The Java Tutorial (reviewed in last month's column), and separate, fairly complete documentation. Here, you'll find a page entitled "New Feature Summary," an overview of new features with links to other documentation pages. This page is a good starting point because it compartmentalizes the somewhat bewildering array of features according to the problems they solve and the design goals they accomplish. This column will give you an overview of Java 1.1 along these same lines, while leaving details to the JavaSoft docs.
General Features
All the general-purpose features were added to solve specific issues involved in extending Java's capabilities. From a pure language standpoint, the inner-class feature is probably the most significant -- it allows classes to be nested within other classes. Moreover, inner classes are particularly helpful in the design of adapters, classes that provide special functionality or connection for some class of interest -- for example, iterators and event connections.