Java Program to Illustrate the Availability of Default Constructor of the Super Class to the Sub Class by Default

11 Jan, 2022
A constructor in Java is a special method that is used to initialize an object. Whenever an object is created using the new() keyword at least one construction is called. The constructor name must match with the class name and cannot have a return type. If there is no constructor available in the class in such a case java compiler provides a default constructor(no parameter constructor) by default.
What is the purpose of the default constructor(no-parameter constructor)
The default constructor is used to provide the default values to the object like 0, null, etc depending on the type.
Example of default constructor
In the code given below, we have created a class named default Constructor and inside this class, we have created a default constructor.
Java
// Java program to illustrate default constructor import java.io.*;class defaultConstructor {    int a;    double d;    String s;     // creating default constructor    defaultConstructor()    {        System.out.println("Hi I am a default constructor");    }}class GFG {    public static void main(String[] args)    {        // creating an object of class defaultConstructor        // after creating an object it will invoke the        // default constructor        defaultConstructor obj = new defaultConstructor();         // default constructor provide default values to        // the object        System.out.println(obj.a);        System.out.println(obj.d);        System.out.println(obj.s);    }}
Hi I am a default constructor
0
0.0
null
The Availability of Default Constructor of the Super Class to the Sub Class by Default.
When we are inheriting from parent to child class, keyword super() has to be called in the child class constructor first. If super() is not called in the child class constructor then the java compiler will do this for us. This is why the parent class constructor is also called whenever we make an object of the child class.
Example 1:
Java
// Java Program to Illustrate the Availability of Default// Constructor of the Super Class to the Sub Class by// Default import java.io.*; // creating parent classclass parent {     // default constructor of parent class    parent()    {        System.out.println(            "I am default constructor from parent class");    }} // creating child class and inheriting parent class to the// child classclass child extends parent {     // default constructor of child class    child()    {        System.out.println(            "I am default constructor from child class");    }}class GFG {    public static void main(String[] args)    {        // creating object of parent class and this will        // only invoke parent class default constructor        parent obj1 = new parent();         // creating object of child class and this will        // invoke parent class constructor first and then it        // will invoke child class constructor        child obj2 = new child();    }}
I am default constructor from parent class
I am default constructor from parent class
I am default constructor from child class
Example 2:
Java
// Java Program to Illustrate the Availability of Default// Constructor of the Super Class to the Sub Class by// Default import java.util.*; class z {     // default constructor of class z    z() { System.out.println("Hi I am z"); }} class y extends z {     // default constructor of class y    y() { System.out.println("Hi I am y"); }}class x extends y {     // default constructor of class x    x() { System.out.println("Hi I am x"); }} class GFG {     public static void main(String[] args)    {        // creating an object of class x        // this will invoke the constructor of x        // but before invoking the constructor of class x        // it will invoke the constructor of it's parent        // class which is y but y is child of z class so,        // before invoking the constructor of y class it        // will invoke the constructor of z class(parent of        // y class)        x obj = new x();    }}
Hi I am z
Hi I am y
Hi I am x
Example 3:
Here, we just want to show the use of the keyword super(), how it works 
Java
// Java Program to Illustrate the Availability of Default// Constructor of the Super Class to the Sub Class by// Default import java.util.*; class z {     // default constructor of class z    z() { System.out.println("Hi I am z"); }}class y extends z {     // default constructor of class y    y()    {        // keyword super() is called by java compiler by        // default in case of default constructor        super();         System.out.println("Hi I am y");    }}class x extends y {     // default constructor of class x    x()    {        // keyword super() is called by java compiler by        // default in case of default constructor        super();        System.out.println("Hi I am x");    }} class GFG {     public static void main(String[] args)    {        // creating an object of class x        // this will invoke the constructor of x        // but before invoking the constructor of class x        // it will invoke the constructor of it's parent        // class which is y but y is child of z class so,        // before invoking the constructor of y class it        // will invoke the constructor of z class(parent of        // y class)        x obj = new x();    }}
Hi I am z
Hi I am y
Hi I am x
germanshephered48
sagar0719kumar
Java-Constructors
Picked
Technical Scripter 2020
Java
Java Programs
Technical Scripter
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.