Java Notes
Constructor Chaining Exercise 1
Name _______________________________
The first line of every constructor must be either
- A
this
call to another constructor in the same class. - A
super
call to a parent constructor.
If no constructor call is written as the first line of a constructor, the compiler automatically inserts a call to the parameterless superclass constructor.
Question
What is printed by this program?
// File : ConstructorChain.java // Purpose: Illustrate constructor chaining. // Author : Fred Swartz // Date : 5 May 2003 class ConstructorChain { public static void main(String[] args) { Child c = new Child(); } } class Child extends Parent { Child() { System.out.println("Child() constructor"); } } class Parent extends Grandparent { Parent() { this(25); System.out.println("Parent() constructor"); } Parent(int x) { System.out.println("Parent(" + x + ") constructor"); } } class Grandparent { Grandparent() { System.out.println("Grandparent() constructor"); } }
You can check your answer with Constructor Chaining Answer.