The JavaTM Tutorial

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form

Trail: Learning the Java Language
Lesson: Object-Oriented Programming Concepts

## What Is a Message?

> A single object alone is generally not very useful. Instead, an object usually appears as a component of a larger program or application that contains many other objects. Through the interaction of these objects, programmers achieve higher-order functionality and more complex behavior. Your bicycle hanging from a hook in the garage is just a bunch of titanium alloy and rubber; by itself, the bicycle is incapable of any activity. The bicycle is useful only when another object (you) interacts with it (pedal).

> Software objects interact and communicate with each other by sending messages to each other. When object A wants object B to perform one of B's methods, object A sends a message to object B

> Sometimes, the receiving object needs more information so that it knows exactly what to do; for example, when you want to change gears on your bicycle, you have to indicate which gear you want. This information is passed along with the message as parameters.

> The next figure shows the three components that comprise a message:

> 1. The object to which the message is addressed (`YourBicycle`)
> 2. The name of the method to perform (`changeGears`)
> 3. Any parameters needed by the method (`lowerGear`)

> These three components are enough information for the receiving object to perform the desired method. No other information or context is required.

> Messages provide two important benefits.

> - An object's behavior is expressed through its methods, so (aside from direct variable access) message passing supports all possible interactions between objects.
> - Objects don't need to be in the same process or even on the same machine to send and receive messages back and forth to each other.

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form

Copyright 1995-2001 Sun Microsystems, Inc. All rights reserved.