Introduction to Interactive Programming
by Lynn Andrea Stein
A Rethinking CS101 Project

Java Charts

Disclaimers, notes, amendments, etc.

1 Well, OK, there are a few details left out of or glossed over in these charts, but it's mostly true that these files specify legal Java.

2 Truth in advertising: A class body contains fields and methods only, no freestanding code, except for static and instance initializers, which are outside the scope of this course.

3 Strictly speaking, subclasses inherit non-private fields and methods only if they are in the same package as their superclasses. If a subclass is in a different package, it does not inherit fields and methods that are of default visibility either.
Additionally, constructor methods are never inherited directly (though they are available through the super(...) construct).

4 Fields can also be transient or volatile. Methods can be native. These keywords are outside the scope of this course.

5 Exceptions that are subclasses of java.lang.RuntimeException need not be declared in the throws clause of a method.

6 An extended form of declarations and definitions allows multiple names to be declared or defined with a single type. The format of this is type nameDecls; where nameDecls is a comma-separated list of names or assigments.

7 These charts correspond only to top level class and interface declarations. Member classes may also be static or not, public, protected, private or default.


© 1999 Lynn Andrea Stein

This chapter is excerpted from a draft ofIntroduction to Interactive Programming In Java, a forthcoming textbook from Morgan Kaufmann Publishers, Inc. It is a part of the course materials developed as a part of Lynn Andrea Stein's Rethinking CS101 project at the MIT AI Lab and the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology.

Questions or comments:
<cs101-webmaster@ai.mit.edu>

/* * $Log: java-charts-notes.html,v $

/* * Revision 1.1.1.1 2002/06/05 21:56:32 root

/* * CS101 comes to Olin finally.

/* *

/* * Revision 1.4 1999/07/30 15:48:37 las

/* * Converging rapidly. Still some details to attend to, esp. in part 3

/* * chapters, but parts 1 & 2 are in pretty good shape.

/* * * Revision 1.3 1999/07/23 15:21:09 las * Major overhaul of the first part of the book. This should all be done * now (except 2), though there are always details. Moved interfaces * much earlier. Enhanced message. Added oo design. objects, oo-design * still need small touch-ups. Intro matter, too. * * Also in same rev fixed footers on Java charts. * */