<< Chapter < Page | Chapter >> Page > |
The screen output
Listing 1 shows the instantiation of a new object of class B, immediately following the instantiation of an object of class A.
The object instantiated from the member class named B is linked to the objectinstantiated from the top-level class named A.
The constructors for the classes named A and B produce the two lines of output shown in Figure 3 , the first of which is a repeat of the output shown in Figure 2 .
The method named bShow
The class named B also defines a private method named bShow . As with the method named aShow mentioned earlier, I will defer a discussion of bShow until later when it is called.
The member class named C
Listing 7 shows the beginning of a member class named C.
Class C is a member of the class named B. In other words, the beginning of the definition of the class named C begins before the curly brace thatends the definition of the class named B.
The code in Listing 7 declares several instance variables for the class named C, and initializes two ofthem. The purpose of these variables will become clear later when they are used.
(Note also that class C extends class X, in order to illustrate that the class containment hierarchy is independent of the inheritance hierarchy.)
Constructor for class C
Listing 8 shows the beginning of the constructor for the class named C.
Whenever an object of the class named C is instantiated, the constructor code shown in Listing 8 does the following:
Screen output
Listing 1 shows the instantiation of a new object of class C, immediately following the instantiation of an object of class B.
The object instantiated from the member class named C is linked to the objectinstantiated from the member class named B. Similarly, the object instantiated from the member class named B is linked to the object instantiated from thetop-level class named A.
The constructors for the classes named A, B, and C produce the three lines of output shown in Figure 4 , the first two of which are repeated from Figures 2 and Figure 3 .
The output shown in Figure 4 demonstrates that the code in Listing 1 causes the constructors for the three classes to be executed in sequence.
At this point, I am going to put the discussion of the class named C on hold and discuss another member class named D.
The private member class named D
Top-level classes cannot be private. However, member classes can be private provided that the using code is consistent with theuse of private members. To demonstrate this, the class named C contains a private member class named D, which is shown in its entirety in Listing 9 .
The most significant thing about the class named D is that it is declared private.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?