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
Comments