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) {       ...

Chained Exceptions

 Chained exceptions, also known as nested exceptions, allow you to associate one exception with another. This feature is useful when you want to provide more context or information about the cause of an exception. In Java, you can chain exceptions using constructors that take a `Throwable` (or its subclasses) as an argument. Syntax: try {     // Code that may throw an exception } catch (ExceptionType1 e1) {     throw new ExceptionType2("Additional information", e1); } Explanation: - Inside a `catch` block, you can create a new exception object and pass the original exception (`e1`) as the cause. - The chained exception (`ExceptionType2`) includes a message and the original exception (`e1`) as its cause. - This technique allows you to preserve the original exception's stack trace and context while providing additional information about the higher-level exception. - Chained exceptions can be caught and processed at higher levels of the call stack, allowing for bet...