<< Chapter < Page Chapter >> Page >

Grandchildren of the Object class

Those classes that don't directly extend the class named Object also inherit a version of the toString method.

May be default or overridden version

The inherited toString method may be the default version, or it may be an overridden version, depending on whether the method has beenoverridden in a superclass of the new class.

The purpose of the toString method

The purpose of the toString method defined in the Object class is to be overridden in new classes.

The body of the overridden version should return a reference to a String object that represents an object of the new class.

Whenever a String representation of an object is required

Whenever a String representation of an object is required for any purpose in Java, the toString method is called on a reference to the object.

The String that is returned by the toString method is taken to be a String that represents the object.

When toString has not been overridden

When the toString method is called on a reference to an object for which the method has not been overridden, the default version of themethod is called.

The default String representation of an object

The String returned by the default version consists of the following:

  • The name of the class from which the object was instantiated
  • The @ character
  • A hexadecimal value that is the hashcode value for the object

As you can see, this does not include any information about the values of the data stored in the object.

Other than the name of the class from which the object was instantiated, this is not particularly useful to a human observer.

Dummy class does not override toString method

In this program, the class named Dummy extends the Object class directly, and doesn't override the toString method.

Therefore, when the toString method is called on a reference to an object of the Dummy class, the String that is returned looks something like the following:

Dummy@273d3c

Note that the six hexadecimal digits at the end will probably be different from one program to the next.

Back to Question 8

Answer 7

C. 3.5/9/true

Explanation 7

More on String concatenation

This program illustrates String concatenation.

The plus (+) operator is what is commonly called an overloaded operator .

What is an overloaded operator?

An overloaded operator is an operator whose behavior depends on the types of its operands.

Plus (+) as a unary operator

The plus operator can be used as either a unary operator or a binary operator. However, as a unary operator, with only one operand to its right, itdoesn't do anything useful. This is illustrated by the following two statements, which are functionally equivalent.

x = y;

x = +y;

Plus (+) as a binary operator

As a binary operator, the plus operator requires two operands, one on either side. (This is called infix notation.) When used as a binary operator, its behavior depends on the types of its operands.

Two numeric operands

If both operands are numeric operands, the plus operator performs arithmetic addition.

If the two numeric operands are of different types, the narrower operand is converted to the type of the wider operand, and the addition is performed as thewider type.

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