Java Reference
In-Depth Information
23.
24. package apress.appendix_A;
25.
26. public class ClassB extends ClassA {
27.
28.
29. }
Listing A-16 is a driver class for testing the inheritance in Listing A-15.
Listing A-16. Testing Inheritance
package apress.appendix_A;
public class Test {
public static void main(String[] args) {
ClassB var1 = new ClassB();
var1.method1();
// var1.method2(); // private method not Inherited
ClassB.method3();// static method
}
}
Listing A-16 illustrates that even if there are no methods defined in ClassB , methods of ClassA are
available in ClassB and can be invoked on the reference variable where the actual object type is of
ClassB . Line 9 shows that private methods are not inherited.
Here is the output:
classA - method1
classA - method3
Constructor Chaining
When a subclass is instantiated by invoking one of its constructors, the constructor first calls the
no-argument constructor of the superclass. In the superclass, the constructor also calls the constructor
of its superclass. This process repeats itself until the constructor of the java.lang.Object class
is reached. In other words, when you create an object of a subclass, all its superclasses are also
instantiated. Listing A-17 illustrates this constructor chaining .
 
Search WWH ::




Custom Search