Skip to main content

Java Exception Handling MCQ Test

  Loading…

Constructor Overloading in Java

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

Popular posts from this blog

Passing and Returning Objects in Java Methods

Passing and Returning Objects in Java Methods In Java, objects can be passed as parameters to methods and returned from methods just like other primitive data types. This allows for flexibility and the manipulation of object state within methods. Let's explore how passing and returning objects work in Java. Passing Objects as Parameters When you pass an object as a parameter to a method, you are essentially passing a reference to that object. This means that changes made to the object inside the method will affect the original object outside the method.  Example: class Car {     String model;     Car(String model) {         this.model = model;     } } public class CarProcessor {     // Method to modify the Car object     static void modifyCar(Car car, String newModel) {         car.model = newModel;     }     public static void main(String[] args) {       ...

Why is String[] args necessary in main() method in Java?

  Why is String[] args necessary in main() method in Java? In Java, the main method serves as the entry point for the program. The correct syntax for the main method is: public static void main (String[] args) { System.out.println( "Hello, Java!" ); } 🔹 Breaking it down: public → Accessible from anywhere. static → No need to create an object of the class to run it. void → No return value. main → Special method recognized by the JVM as the starting point. String[] args → Stores command-line arguments (optional but required by JVM). Why Can't We Skip String[] args ? JVM looks for main(String[] args) When you run a Java program, the JVM searches for the main method with exactly this signature : public static void main (String[] args) If you change or remove String[] args , the JVM cannot find the correct main() method and throws a runtime error (NoSuchMethodError). Java Specification Requires It The Java Language Specification (JLS) defines that main...