Reviews : Java Books :
Beginning Java Objects : Chapters 2 and 3

Title: Beginning Java Objects
ISBN: 1861004176
US Price: $ 39.99
Canadian Price:
C$ 59.95
UK Price: £ 28.99
Publication Date: November 2000
Pages: 800
© Wrox Press Limited, US and UK.

Beginning Java Objects: Chapter 3
Objects and Classes

Classes as Abstract Data Types

In a non-OO programming language such as C, the statement

int x;

is a declaration that variable 'x' is an integer, one of several simple, built-in data types defined to be part of the C (C++, Java) language.

What does this really mean? It means that:

  • 'x' is a symbolic name that represents an integer value.
  • The 'thing' that we have named 'x' understands how to respond to a number of different operations such as addition (+), subtraction (-), multiplication (*), division (/), logical comparisons (>, <, =), and so on that have been defined for the int data type.
  • Whenever we want to operate on this particular integer value in our program, we refer to 'x' instead:

    if (x > 17) x = x + 5;
    

In an object-oriented language like Java, we can define a class such as Student, and then declare a variable as follows:

Student y;

What does this mean? It means that:

'y' is a symbolic name that refers to a Student object/instance.
  • The 'thing' that we have named 'y' understands how to respond to a number of different service requests — how to register for a course, drop a course, and so on — that have been defined by the Student class.
  • Whenever we want to operate on this particular object, we refer to 'y' instead:

    if (y hasn't chosen an advisor yet  )
     System.out.println("Oh oh ...");
    

    [The lines above are one line. They have been split for formatting purposes.]

Note the parallels between x as an int in the previous example and y as a Student above. Just as int is referred to as a simple, or built-in, data type in a language like C or Java, we can refer to a user- defined class such as Student as an abstract data type (ADT): that is, a user-defined data type that specifies structure as well as behavior. It is called 'abstract' because a class is an abstraction of a real- word object that reflects only its relevant details. And, because 'y' in the above example is a variable that refers to an instance (object) of the class Student, 'y' may be alternatively referred to as either a reference variable or sometimes just as a reference — a reference to a Student object, to be precise.

Names for reference variables follow the same convention as method and attribute names: they start with a lower case letter and use mixed case to separate 'words' within the name. Some sample reference variable declarations are as follows:

Student x;
Student aStudent;
Course prerequisiteOfThisCourse;
Professor myAdvisor;




How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.