Let’s say you share your new Box class with all of your friends.


Listing 1 - Box.java (version 4)

public class Box
    int length;
    int width;
    int height;
    int volume;

    void computeVolume()
        volume = length * width * height;


One of your friends tells you that your class doesn’t work. They tried computing the volume of a box with dimensions 5 X 5 X 4 and got 101 instead of 100. You ask to see the main program, and find the following:

Box b1 = new Box();

b1.length = 5;
b1.width = 5;
b1.height = 4;

b1.volume++;                                 // What’s this?
System.out.println(“volume = “ + b1.volume); // Prints volume = 101


Your friend has modified the volume field in the Box object even though it was unnecessary. Not a problem, you point out the error, and after removing the erroneous statement, the program works fine. But what if there were millions of users of your class? You need a way to prevent errors like the one above from happening. This is done using encapsulation.


Section 1 - Encapsulation Defined



Copyright ©2017 by Ralph Lecessi Incorporated. All rights reserved.