In Java, the access specifiers can also be used to determine which classes within a library will be available to the users of that library. If you want a class to be available to a client programmer, you place the public keyword somewhere before the opening brace of the class body. This controls whether the client programmer can even create an object of the class.
Latest Thinking In Java Articles - Page 4
Access control is often referred to as implementation hiding . Wrapping data and methods within classes (combined with implementation hiding this is often called encapsulation ) produces a data type with characteristics and behaviors, but access control puts boundaries within that data type for two important reasons. The first is to establish what the client programmers can and can’t use. You can build your internal mechanisms into the structure without worrying that the client programmers will think it’s part of the interface that they should be using.
The Java access specifiers public , protected and private are placed in front of each definition for each member in your class, whether it’s a data member or a method. Each access specifier controls the access for only that particular definition. This is a distinct contrast to C++, in which the access specifier controls all the definitions following it until another access specifier comes along.
In any relationship it’s important to have boundaries that are respected by all parties involved. When you create a library, you establish a relationship with the user of that library – the client programmer – who is another programmer, but one putting together an application or using your library to build a bigger library.
Latest Developer VideosMore...
Latest CodeGuru Developer Columns
Quirky and yet persistent, C++ is a language that keeps programmers coming back to it. Pick up some new ways to wrangle it into your workflow.
The Singleton pattern is very flexible. Learn to wrap it around your little finger.
Learn how to change your screen's wallpaper, screensaver, and its settings as well as change your screen's resolution.
Most developers face a grueling challenge to please their end users. We asked their top challenge is. With over 3,000 responses, the results are now available!