Using a Class
In this lesson, we will look at how to use classes.
We'll cover the following
What is Class?
A class is like a plan for building cars, as the figure given below illustrates. Many cars can be built from the description given in one plan. The plan specifies that a car should have four wheels, among other things, but the actual wheels belong to the car, not the plan.
Similarly, a class is a plan for creating certain objects. It describes the objects’ data and behaviors. That is, a class contains declarations for the data associated with its objects and definitions of methods that implement their behaviors.
We begin by considering a simple class called Greeter
. We will start by assuming that someone has written this class for us and then define it ourselves.
Using the Class Greeter
Each object of the class Greeter
contains a greeting that it can display. For example, the program given below defines three different Greeter
objects. Click the RUN button to see the results of its execution.
/** GreeterDemo.java by F. M. CarranoDemonstrates the class Greeter.*/public class GreeterDemo{public static void main(String args[]){Greeter standardWelcomer = new Greeter();Greeter townCrier = new Greeter("It's 12 o'clock; all is well!");Greeter courtClerk = new Greeter("Order in the Court!");standardWelcomer.greet();townCrier.greet();courtClerk.greet();} // End main} // End GreeterDemo
Each object’s greeting is established at the time that the object is created, that is when the operator new
executes. For example, when we define the object standardWelcomer
, the expression, new
Greeter()
, creates a Greeter
object, allocates space for a greeting, and assigns it the default value, "Hello, world!"
, that was chosen by the programmer who defined the class Greeter
. On the other hand, the Greeter
objects townCrier
and courtClerk
have greetings that we chose when using the class Greeter
in the program GreeterDemo
.
The new
operator
As we pointed out in the previous chapter, new
is a Java operator that creates an object of a given class type. In the code given above, the first use of new
operator has one operand, the expression Greeter()
. This expression represents a call to a special method, known as a constructor, within the class Greeter
. A constructor initializes the newly created object. Constructors have the same name as the class. This particular constructor accepts no arguments, so we write nothing between the parentheses. Such a constructor is called a default constructor.
When we define the object townCrier
, we involve another constructor. Note that a class can have several different constructors. This constructor has an argument that represents the object’s
greeting as a string. So townCrier
’s greeting is “It’s 12 o’clock; all is well!”
When each of these objects receives an invocation for the method greet
, its own greeting is displayed, as we can see when we run the program given above. Although each object has the same method greet
, a different string—the greeting associated with the object—is displayed each time.
📝 Note: The program component that uses a class is the client of the class. The user is the person using the program.