Chapter 7. Working with Objects and Classes
In the previous two chapters, we came to know Java objects and their
interrelationships. We will now climb the scaffolding of the Java class hierarchy to the
very top and finish our study of the core language at the summit. In this chapter, we’ll
talk about the Object
class
itself, which is the “grandmother” of all classes in Java. We’ll also describe the even
more fundamental Class
class (the class named
“Class”) that represents Java classes in the Java virtual machine. We’ll discuss what
you can do with these components in their own right. This will lead us to a more general
topic: the Java Reflection API, which lets a Java program inspect and interact with
(possibly unknown) objects dynamically, at runtime. Finally, we’ll also talk about the
Java Annotations API, new in Java 5.0, which allows developers to add metadata to their
source code, for use by the compiler and runtime systems that look for it.
The Object Class
java.lang.Object
is the ancestor of all objects;
it’s the primordial class from which all other classes are ultimately derived.
Methods defined in Object
are, therefore, very
important because they appear in every instance of every class, throughout all of
Java. At last count, there were nine public methods and two protected methods in
Object
. Five of these are versions of
wait()
and notify()
that are used to synchronize threads on object instances, as
we’ll discuss in Chapter 9. The remaining four methods are used ...
Get Learning Java, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.