Java Class Overview  Java Class Overview

This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project, and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.

Though I am a programmer, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Please do not email me about this project without reading the disclaimer above.

This project is quite a bit of work, but it is not difficult. In its simplest form, it requires no coding at all. The intent is to create a table to help someone new to Java find their way around the giant class libraries. You create a table like this:
Overview of Java Classes Sorted By Class Name
parent package Parent Package Class Type Comments Immedidate Descendants Related Classes
java.lang Object java.util Calendar abstract Used for doing date/time calculations. Mother of classes that handle Christian, Islamic, Buddhist etc calendars. java.util.GregorianCalendar java.util.Date, java.util.DateFormat, java.util.TimeZone
    java.lang Comparable interface Defines the natural ordering of the objects in a class.    
java.lang Object java.util Date class Object wrapper around a long timestamp, without an embedded TimeZone. Mostly deprecated. java.sql.Date, java.sql.TimeStamp, java.sql.Time java.util.GregorianCalendar, java.util.TimeZone
java.util Calendar java.util GregorianCalendar class Used for doing date/time calculations. Contains long timestamp and a TimeZone.   java.util.Date, java.util.DateFormat, java.util.TimeZone
Now for some refinements:
  1. Prepare versions of the table sorted by parent package, parent, package and class. Set up HTML (Hypertext Markup Language) to flip between views similar to the HTML colour charts.
  2. Repackage the data as an Applet so you don’t need to download the data over just to see a different sort. The raw data comes over in serialized object form, compressed inside a jar for fast download.
  3. Allow the user to ask questions of the form:
  4. Provide hooks into the standard JDK (Java Development Kit) API (Application Programming Interface) either on Sun’s site, or locally if available to get detail about any class and its methods. When you click a class name it takes you to the corresponding spot in the JDK Javadoc.
  5. Use a DocLet to automatically extract all the inheritance structure from the Javadoc. This is the only way to ensure it is accurate and up to date.

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/project/javaclassoverview.html J:\mindprod\project\javaclassoverview.html
logo
Please email your , letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email. If you want your message, your name or email kept confidential, not considered for public posting, please explicitly specify that. Unless you state otherwise, I will treat your message as a letter to the editor that I may or may not publish in the feedback section. After that, it will be too late to retract it. If you disagree with something I said, please quote it and cite the web page where you found it, tell me why you think it is wrong, and, if possible, provide some supporting evidence. Threatening to kill me or spouting obscenities has yet to persuade me to change my mind.
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.179.210]
You are visitor number 11,357.