Constructor Overloading in Java
Constructor overloading is a concept in Java where a class can have multiple constructors with different parameter lists. Each constructor provides a different way to initialize an object. The choice of constructor to be invoked is determined by the number and types of arguments passed during object creation.
Example:
public class Car {
// Attributes
String make;
String model;
int year;
// Default Constructor
public Car() {
make = "Unknown";
model = "Unknown";
year = 0;
}
// Parameterized Constructor 1
public Car(String make, String model) {
this.make = make;
this.model = model;
this.year = 0;
}
// Parameterized Constructor 2
public Car(String make, String model, int year) {
this.make = make;
this.model = model;
this.year = year;
}
// Method to Display Car Information
void displayInfo() {
System.out.println("Make: " + make);
System.out.println("Model: " + model);
System.out.println("Year: " + year);
System.out.println();
}
}
Object Creation and Constructor Overloading:
// Creating Objects using Different Constructors
Car defaultCar = new Car(); // Default Constructor
Car partialCar = new Car("Honda", "Civic"); // Parameterized Constructor 1
Car fullCar = new Car("Ford", "Mustang", 2022); // Parameterized Constructor 2
// Displaying Car Information
defaultCar.displayInfo();
partialCar.displayInfo();
fullCar.displayInfo();
In this example, the `Car` class has three constructors:
1. Default Constructor: Initializes all attributes to default values.
2. Parameterized Constructor 1: Accepts make and model, initializes year to default.
3. Parameterized Constructor 2: Accepts make, model, and year.
By providing multiple constructors, the class becomes versatile, allowing the programmer to create objects in different ways based on their requirements. The appropriate constructor is selected based on the arguments passed during object instantiation. This flexibility enhances the usability and adaptability of the class in various scenarios.
Comments
Post a Comment