← Back to list

this() vs super() Constructors in Java – Explained Simply | Interview question

In Java, this() and super() are special constructor calls used for constructor chaining.

Tejshree Bakore · 2026-05-25 04:24 · 0 claps · 2.3 min read
#constructor #java #programming #interview-questions #technology
Open on Medium ↗
Wiki topics: 💻 · Programming

this() vs super() Constructors in Java – Explained Simply | Interview question

In Java, this() and super() are special constructor calls used for constructor chaining.

They help initialize objects properly and avoid code duplication.

Although both are used inside constructors, their purpose is completely different.

What is this()?

this() is used to call another constructor within the same class.

It helps reuse constructor logic inside the current class.

Example of this()

class Student {

    String name;
    int age;

    Student() {

        this("Rahul", 22);

        System.out.println("Default constructor");
    }

    Student(String name, int age) {

        this.name = name;
        this.age = age;

        System.out.println(name + " " + age);
    }
}

public class Main {

    public static void main(String[] args) {

        Student s1 = new Student();
    }
}
________________________________________
Output
Rahul 22
Default constructor

What is super()?

super() is used to call the constructor of the parent class.

It helps initialize inherited properties.

Example of super()

class Animal {

    Animal() {

        System.out.println("Animal constructor called");
    }
}

class Dog extends Animal {

    Dog() {

        super();

        System.out.println("Dog constructor called");
    }
}

public class Main {

    public static void main(String[] args) {

        Dog d1 = new Dog();
    }
}
________________________________________
Output
Animal constructor called
Dog constructor called

Real-World Example

this() Example

A student filling a detailed form may first use a basic form internally.

One setup process calls another setup process within the same system.

→ Similar to this()

super() Example

A child inherits family identity from parents before building personal identity.

Parent initialization happens first.

→ Similar to super()

Important Rule

Both this() and super():

✔ Must be the first statement inside constructor ✔ Cannot be used together in same constructor

Philosophical Perspective

this() → Self-Understanding

this() represents learning from oneself.

  • Improving internally
  • Reusing personal experience
  • Building upon existing knowledge

It symbolizes: “Growth through self-awareness.”

super() → Respecting Origins

super() represents connection with roots.

Before creating personal identity:

  • We inherit values
  • Traditions
  • Knowledge
  • Culture

It symbolizes: “Every new generation stands on previous foundations.”

When to Use Which?

Use this()

✔ When constructors inside same class share logic ✔ To reduce repeated code

Use super()

✔ When child class needs parent initialization ✔ In inheritance-based design

Conclusion

Both this() and super() are essential for constructor chaining in Java.

  • this() connects constructors within the same class
  • super() connects child class with parent class

Together, they ensure:

✔ Cleaner code ✔ Better reusability ✔ Proper object initialization

Quick Revision

this() → Calls current class constructor

super() → Calls parent class constructor

Common Rule → Must be first statement in constructor

Core Idea

→ this() = Self connection → super() = Parent connection


메타데이터
post_id
4a9bc26c3a72
slug
this-vs-super-constructors-in-java-explained-simply-interview-question-4a9bc26c3a72
url
https://medium.com/@knowledge.enlightens22/this-vs-super-constructors-in-java-explained-simply-interview-question-4a9bc26c3a72
canonical_url
https://medium.com/@knowledge.enlightens22/this-vs-super-constructors-in-java-explained-simply-interview-question-4a9bc26c3a72
author_url
https://medium.com/@knowledge.enlightens22
status
ok
fetched_at
2026-08-02 13:24:08