<< Chapter < Page Chapter >> Page >

When an object is instantiated from the class named D, it displays a couple of messages, one of which provides the name of the class fileproduced by the compiler to represent the class named D. We will see those messages shortly in conjunction with the instantiation of an object of theclass named D.

Returning to the constructor for class C

Listing 10 shows the next statement in the constructor for the class named C. This statement instantiates an object of its private member class named D.

The code in Listing 10 causes the constructor for the class named D to be executed, producing the screen output shown in Figure 5 .

As mentioned earlier, comparing the class file name in Figure 5 with the class file naming convention for member classes, you can determine that D isa member of C, C is a member of B, and B is a member of A.

Instantiate independent objects of classes A and B

The remaining constructor code for class C is shown in Listing 11 .

The code in Listing 11 instantiates new and independent objects of the classes named A and B, both of which are enclosing classes of the member classnamed C.

(Note that the parameter values passed to the constructors are different than was the case for the objects instantiated in Listing 1 . We will see the result of that later.)

I will display information about these two objects later. That information will show that the new object of the member class named B is linked to the original objectof the enclosing class named A.

The screen output

In the meantime, when these two objects are instantiated, their constructors are executed, producingthe screen output shown in Figure 6 .

In each case, the value of the object counter shows that this is the second object instantiated from each of these two classes.

Methods aShow, bShow, and cShow

The classes named A, B, and C, each contain display methods named aShow , bShow , and cShow respectively.

The method named cShow is rather long, and I will discuss it in detail shortly. For now, suffice it to say that code in cShow calls the private method named bShow in the containing object to which it is linked. Therefore, this will be an appropriate time to examine the methodnamed bShow , which is defined in the member class named B.

The method named bShow

The bShow method, defined in the member class named B, is shown in Listing 12 . It is important to note that this is a private method.

When this method is called, it does the following:

  • Displays the value of the constructor parameter passed to the object when it was constructed.
  • Displays the identification of the object based on the value of the object counter when it was constructed.
  • Calls the corresponding aShow method of the object of the containing class to which it is linked.

Since the code in the bShow method calls the private aShow method of the containing object to which it is linked, it is also time to take alook at that method.

The method named aShow

The aShow method, defined in the top-level class named A, is shown in Listing 13 . It is also important to note that this is a private method.

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