Contents | Prev | Next

Inner Classes Specification

Febuary 4, 1997


What are top-level classes and inner classes?
Example: A simple adapter class
Example: A local class
Anonymous classes

How do inner classes work?
References to local variables

Why does Java need inner classes?
Why anonymous classes?
What about dynamic typing and computed selectors ("perform")?

How do inner classes affect the idea of this in Java code?
Enclosing classes and instantiation

Do inner classes affect the correct synchronization of Java code?

Can a nested class be declared final, private, protected, or static?
Members that can be marked static

How do inner classes affect the organization of the Java Virtual Machine?
Class name transformations
Names of generated variables and methods
Security implications

How does the Java Language Specification change for inner classes?

Other changes in the Java 1.1 language
Instance initializers
Anonymous array expressions
Class literals
Blank finals and final local variables

What are the new binary compatibility requirements for Java 1.1 classes?
Bytecode names of classes and interfaces
The class attribute InnerClasses
The member attribute Synthetic

Further Example: Sample AWT code

Further Example: An API with coordinated inner classes

Further Example: Multi-threaded task partitioning.

Contents | Prev | Next

Inner Classes Specification (HTML generated by dkramer on March 15, 1997)
Copyright © 1996, 1997 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to