Revised: Fri Apr 01 17:06:27 CDT 2016
This page is included in the following Books:
Table of contents
- Preface
- Preview
- Discussion and sample code
- Summary
- What's next?
- Miscellaneous
- Complete program listing
Preface
This module is one of a series of modules designed to teach you about Object-Oriented Programming (OOP) using Java.
Viewing tip
I recommend that you open another copy of this document in a separate browser window and use the following links to easily find and view the listings while you are reading about them.
Listings
- Listing 1 . Using the newInstance method.
- Listing 2 . Populate the array object.
- Listing 3 . Display the data.
- Listing 4 . An array object of type int.
- Listing 5 . The two-dimensional array object tree.
- Listing 6 . Populate the leaf elements.
- Listing 7 . Display the data.
- Listing 8 . Create, populate, and display an array object.
- Listing 9 . Sort and display the data.
- Listing 10 . Search for an existing string.
- Listing 11 . Search for a non-existing string.
- Listing 12 . Complete program listing.
Preview
This module discusses various details regarding the use of array objects in Java, including:
- The members of an array object
- The interfaces implemented by array objects
- Class objects and array objects
- The classes named Array and Arrays
Discussion and sample code
Members of an array object
An array object has the following members (in addition to the data stored in the object):
- A public final variable named length , which contains the number of components of the array (length may be positive or zero)
- A public method named clone . This method overrides the method of the same name in Object class.
- Default versions of all the methods inherited from the class named Object , (other than clone , which is overridden as described above).
Implements Cloneable and Serializable
Also, every array object implements the Cloneable and Serializable interfaces. (Note that neither of these interfaces declares any methods.)
What is the Cloneable interface?
Here is what Sun has to say about the Cloneable interface:
"A class implements the Cloneable interface to indicate to the Object.clone() method that it is legal for that method to make a field-for-field copy of instances of that class. Attempts to clone instancesthat do not implement the Cloneable interface result in the exception CloneNotSupportedException being thrown."
Thus, the fact than an array object implements the Cloneable interface makes it possible to clone array objects.
A cloned array is shallow
While it is possible to clone arrays, care must be exercised when cloning multidimensional arrays. That is because a clone of a multidimensional array isshallow.
What does shallow mean?
Shallow means that the cloning process creates only a single new array.