<< 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:
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.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?