WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Core Java · Intermediate · question 25 of 100

What is a constructor in Java? Can you overload a constructor in Java?

📕 Buy this interview preparation book: 100 Core Java questions & answers — PDF + EPUB for $5

In Java, a constructor is a special method that is used to create and initialize objects of a class. The constructor has the same name as the class, and is called when an object of the class is created using the new keyword.

A constructor can take arguments, which are used to initialize the instance variables of the object. If a constructor with arguments is defined in a class, a default constructor with no arguments is not automatically provided.

Here’s an example of a class with a constructor:

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    
    public int getAge() {
        return age;
    }
}

public class Main {
    public static void main(String[] args) {
        Person person = new Person("John", 30);
        System.out.println(person.getName()); // Output: "John"
        System.out.println(person.getAge()); // Output: 30
    }
}

In this example, we define a Person class with two instance variables (name and age) and a constructor that takes two arguments (name and age). The constructor initializes the instance variables using the arguments passed in.

We can create an object of the Person class by calling the constructor with the new keyword and passing in the required arguments. We can then call the methods on the object to retrieve the values of the instance variables.

We can also overload constructors in Java, which means that we can define multiple constructors with different sets of arguments in the same class. This allows us to create objects of the class using different initialization parameters.

Here’s an example of a class with overloaded constructors:

public class Rectangle {
    private int width;
    private int height;
    
    public Rectangle() {
        this.width = 0;
        this.height = 0;
    }
    
    public Rectangle(int width, int height) {
        this.width = width;
        this.height = height;
    }
    
    public int getWidth() {
        return width;
    }
    
    public int getHeight() {
        return height;
    }

}

public class Main {
    public static void main(String[] args) {
        Rectangle r1 = new Rectangle();
        Rectangle r2 = new Rectangle(10, 20);
    
        System.out.println(r1.getWidth());   // Output: 0
        System.out.println(r1.getHeight());  // Output: 0
    
        System.out.println(r2.getWidth());   // Output: 10
        System.out.println(r2.getHeight());  // Output: 20
    }
}

In this example, we define a Rectangle class with two overloaded constructors. The first constructor initializes the instance variables to 0, while the second constructor takes two arguments (width and height) and initializes the instance variables using the arguments passed in.

We can create objects of the Rectangle class using either constructor, depending on the initialization parameters we want to use. When we call the methods on the objects, the values of the instance variables are retrieved accordingly.

In summary, a constructor in Java is a special method that is used to create and initialize objects of a class. A constructor can take arguments, which are used to initialize the instance variables of the object. We can overload constructors in Java by defining multiple constructors with different sets of arguments in the same class. This allows us to create objects of the class using different initialization parameters.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Core Java interview — then scores it.
📞 Practice Core Java — free 15 min
📕 Buy this interview preparation book: 100 Core Java questions & answers — PDF + EPUB for $5

All 100 Core Java questions · All topics