Constructors and this Keyword in Java

By Shakib Ansari | Date: Thu, Jun 5, 2025

What is a Constructor?

Definition:

Constructor ek special block hota hai jo object create karte time automatically call ho jaata hai. Iska kaam hota hai object ko initial values dena.

Constructor ka naam hamesha class ke naam jaisa hota hai aur iska return type nahi hota.

Constructor Syntax:

class ClassName {
    ClassName() {
        // constructor body
    }
}

Types of Constructors in Java:

1. Default Constructor

Jab hum khud koi constructor nahi likhte, Java compiler automatically ek default constructor add kar deta hai.

java
CopyEdit
class Student {
    Student() {
        System.out.println("Default constructor called");
    }
}

class Main {
    public static void main(String[] args) {
        Student s1 = new Student(); // Output: Default constructor called
    }
}

2. Parameterized Constructor

Jab constructor arguments leta hai, use parameterized constructor kehte hain.

class Student {
    String name;
    int age;

    Student(String n, int a) {
        name = n;
        age = a;
    }

    void show() {
        System.out.println("Name: " + name + ", Age: " + age);
    }
}

class Main {
    public static void main(String[] args) {
        Student s1 = new Student("Shakib", 21);
        s1.show();
    }
}

Output:

Name: Shakib, Age: 21

Constructor Overloading

Jab ek class mein multiple constructors hote hain with different parameters, use constructor overloading kehte hain.

class Book {
    String title;
    int pages;

    Book() {
        title = "Unknown";
        pages = 0;
    }

    Book(String t, int p) {
        title = t;
        pages = p;
    }

    void display() {
        System.out.println(title + " - " + pages + " pages");
    }
}

Constructor Chaining (this())

Jab ek constructor doosre constructor ko call karta hai, toh use constructor chaining kehte hain. Iske liye hum this() use karte hain.

class Laptop {
    String brand;
    int price;

    Laptop() {
        this("HP", 50000);  // constructor chaining
    }

    Laptop(String b, int p) {
        brand = b;
        price = p;
    }

    void show() {
        System.out.println(brand + " - ₹" + price);
    }
}

Output:

HP - ₹50000

this Keyword – Powerful Tool

Kya karta hai?

  • Current object ko refer karta hai.
  • Jab local variable aur instance variable ka naam same hota hai, tab confusion door karta hai.

Example:

class Employee {
    String name;

    Employee(String name) {
        this.name = name;  // "this" points to the instance variable
    }

    void display() {
        System.out.println("Employee: " + name);
    }
}

Difference: this vs this()

  • this: Current object ko refer karta hai
  • this(): Current class ke constructor ko call karta hai
About the Author

Hi, I'm Shakib Ansari, Founder and CEO of BeyondMan. I'm a highly adaptive developer who quickly learns new programming languages and delivers innovative solutions with passion and precision.

Shakib Ansari
Programming

Comments