Types of Constructor

Types of Constructors in Java In Java, constructors are special methods used to initialize objects. There are several types of constructors: 1. Default Constructor Created automatically by Java if no constructor is defined Has no parameters Initializes instance variables with default values (0, null, false) public class MyClass { // Default constructor (implicit if none defined) public MyClass() { // Initialization code } } 2. Parameterized Constructor Accepts parameters to initialize objects with specific values Allows different initialization for different objects public class Student { String name; int age; // Parameterized constructor public Student(String name, int age) { this.name = name; this.age = age; } } 3. Copy Constructor Creates an object by copying values from another object Useful for creating a copy of an existing object public class Student { String name; int age; // Copy constructor public Student(Student other) { this.name = other.name; this.age = other.age; } } 4. Constructor Overloading Having multiple constructors with different parameters Provides different ways to initialize objects public class Rectangle { int length, width; // Constructor 1 public Rectangle() { length = width = 0; } // Constructor 2 public Rectangle(int side) { length = width = side; } // Constructor 3 public Rectangle(int l, int w) { length = l; width = w; } } 5. Private Constructor Can only be accessed within the class Used in singleton design pattern Prevents instantiation from outside the class public class Singleton { private static Singleton instance; private Singleton() { // private constructor } public static Singleton getInstance() { if(instance == null) { instance = new Singleton(); } return instance; } } 6. Constructor Chaining Calling one constructor from another constructor Achieved using this() keyword Must be the first statement in the constructor public class Employee { String name; int id; String department; public Employee() { this("Unknown", 0); // calls 2-arg constructor } public Employee(String name, int id) { this(name, id, "General"); // calls 3-arg constructor } public Employee(String name, int id, String department) { this.name = name; this.id = id; this.department = department; } } Each type of constructor serves different purposes in object initialization and provides flexibility in how objects are created in Java programs. (TBD)

Apr 10, 2025 - 13:34
 0
Types of Constructor

Types of Constructors in Java

In Java, constructors are special methods used to initialize objects. There are several types of constructors:

1. Default Constructor

  • Created automatically by Java if no constructor is defined
  • Has no parameters
  • Initializes instance variables with default values (0, null, false)
public class MyClass {
    // Default constructor (implicit if none defined)
    public MyClass() {
        // Initialization code
    }
}

2. Parameterized Constructor

  • Accepts parameters to initialize objects with specific values
  • Allows different initialization for different objects
public class Student {
    String name;
    int age;

    // Parameterized constructor
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

3. Copy Constructor

  • Creates an object by copying values from another object
  • Useful for creating a copy of an existing object
public class Student {
    String name;
    int age;

    // Copy constructor
    public Student(Student other) {
        this.name = other.name;
        this.age = other.age;
    }
}

4. Constructor Overloading

  • Having multiple constructors with different parameters
  • Provides different ways to initialize objects
public class Rectangle {
    int length, width;

    // Constructor 1
    public Rectangle() {
        length = width = 0;
    }

    // Constructor 2
    public Rectangle(int side) {
        length = width = side;
    }

    // Constructor 3
    public Rectangle(int l, int w) {
        length = l;
        width = w;
    }
}

5. Private Constructor

  • Can only be accessed within the class
  • Used in singleton design pattern
  • Prevents instantiation from outside the class
public class Singleton {
    private static Singleton instance;

    private Singleton() {
        // private constructor
    }

    public static Singleton getInstance() {
        if(instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

6. Constructor Chaining

  • Calling one constructor from another constructor
  • Achieved using this() keyword
  • Must be the first statement in the constructor
public class Employee {
    String name;
    int id;
    String department;

    public Employee() {
        this("Unknown", 0); // calls 2-arg constructor
    }

    public Employee(String name, int id) {
        this(name, id, "General"); // calls 3-arg constructor
    }

    public Employee(String name, int id, String department) {
        this.name = name;
        this.id = id;
        this.department = department;
    }
}

Each type of constructor serves different purposes in object initialization and provides flexibility in how objects are created in Java programs. (TBD)