<< Chapter < Page Chapter >> Page >

This is illustrated in the following code fragment. This fragment also illustrates the use of the length method of the String class just to make things interesting. (A simple integer value for the capacity of the StringBuffer object would have worked just as well.)

Instantiating a StringBuffer object of a non-default length StringBuffer str6 = new StringBuffer( "StringBuffer named str6".length());str6.append("StringBuffer named str6");

Accessor methods

The following quotation is taken directly from The Java Tutorial by Campione and Walrath.

"An object's instance variables are encapsulated within the object, hidden inside, safe from inspection or manipulation by otherobjects. With certain well-defined exceptions, the object's methods are the only means by which other objects can inspect or alter an object's instancevariables. Encapsulation of an object's data protects the object from corruption by other objects and conceals an object's implementation details from outsiders.This encapsulation of data behind an object's methods is one of the cornerstones of object-oriented programming."

The above statement lays out an important consideration in good object-oriented programming.

The methods used to obtain information about an object are often referred to as accessor methods .

Constructors and methods of the string class

I told you in an earlier section that the StringBuffer class provides a large number of overloaded constructors and methods. The same holdstrue for the String class.

Once again, I will refer you to Java OOP: Java Documentation where you will find a link to online Java documentation. Among other things, the documentation provides a list of theoverloaded constructors and methods for the String class

String objects encapsulate data

The characters in a String object are not directly available to other objects. However, as you can see from the documentation, there are a large number of methodsthat can be used to access and manipulate those characters. For example, in anearlier sample program ( Listing 2 ) , I used the length method to access the number of characters stored in a String object as shown in the following code fragment.

StringBuffer str6 = new StringBuffer( "StringBuffer named str6".length());

In this case, I applied the length method to a literal string, but it can be applied to any valid representation of an object of type String .

I then passed the value returned by the length method to the constructor for a StringBuffer object.

As you can determine by examining the argument lists for the various methods of the String class,

  • some methods return data stored in the string while
  • other methods return information about that data.

For example, the length method returns information about the data stored in the String object.

Methods such as charAt and substring return portions of the actual data.

Methods such toUpperCase can be thought of as returning the data, but returning it in a different format.

Creating string objects without calling the constructor

Methods in other classes and objects may create String objects without an explicit call to the constructor by the programmer. For example the toString method of the Float class receives a float value as an incoming parameter and returns a reference to a String object that represents the float argument.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask