<< Chapter < Page | Chapter >> Page > |
The next block of code in the method named meth is the definition of a local class named B . The beginning of the class definition for local class B is shown in Listing 9 .
As with local variables, the class definition for a local class must appear before the code that attempts to instantiate the class. Code in the method named meth following the local class definition will instantiate and exercise objects of class B .
Local class B extends top-level class Y . This was done to illustrate that the inheritance hierarchy is independent of thecontainment hierarchy.
The constructor
The code in Listing 9 declares a private instance variable named bTime , which is used to store the relative time that an object of class B is constructed.
Listing 9 also shows the constructor for local class B , which establishes, saves, and then displays the relative time that that an object is instantiated.
(I will show you the screen output produced by this constructor shortly as I discuss codethat instantiates objects of this class.)
Instantiate two objects of class B
At this point, I am going to temporarily set aside the discussion of local class B and discuss code in the method named meth that immediately follows the definition of local class B . This code is shown in Listing 10 .
Listing 10 shows the beginning of code that is called when the method named meth is called. This code begins by instantiating two objects from the class named B , with a delay inserted between the instantiation of the two objects.
The screen output
The code in Listing 10 , in conjunction with the constructor code in Listing 9 produces the screen output shown in Figure 4 as each of the two objects of local class B are instantiated.
Call showB on the first object
Following this, the code in the method named meth calls the method named showB on each of the two objects. The method named showB will, in turn, call the method named showA on the containing object instantiated from the class named A . The third line of code in Listing 11 calls the method named showB on the first object instantiated in Listing 10 .
The method named showB
That brings us back to a discussion of the method named showB , which is an instance method of local class B . The beginning of the showB method is shown in Listing 12 . This method displays several private and protected variables, some of which belong to thecontaining object instantiated from the top-level class named A .
(Note that code in this method has direct access to xVar , which is a protected member variable of the superclass of the class named A .)
Items that are displayed
The code in Listing 12 displays
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?