Top 15 Java Constructor Interview Questions You Must Prepare 19.Mar.2024

No, it is optional . If we do not define a constructor compiler will define a default constructor.

  • Constructor name should be same as class name.
  • It should not contain return type.

It should not contain Non Access Modifiers:

  • final ,static, abstract, synchronized
  • In it logic return statement with value is not allowed.

It can have all four accessibility modifiers:

  • private , public, protected, default
  • It can have parameters

It can have throws clause:

  • we can throw exception from constructor.
  • It can have logic, as part of logic it can have all java legal statement except return statement with value.
  • We can not place return in constructor.

No, because compiler and JVM considers it as a method.

Only if there is no explicit constructor defined by developer.

By using return type , if there is a return type it is considered as a method else it is considered as constructor.

  • Constructor is a special method given in OOP language for creating and initializing object.
  • In java , constructor role is only initializing object , and new keyword role is crating object.

If we want do execute some logic at the time of object creation, that logic may be object initialization logic or some other useful logic.

  1. Yes we can declare constructor as private.
  2. All four access modifiers are allowed to constructor.
  3. We should declare constructor as private for not to allow user to create object from outside of our class.
  4. Basically we will declare private constructor in Singleton design pattern.
  5. Read more at Can we create private constructor in java

As there is a possibility to define a method with same class name , return type is not allowed to constructor to differentiate constructor block from method block.

Because it obtain all its default properties from its class.

They are:

  1. Its accessibility modifier is same as its class accessibility modifier 
  2. Its name is same as class name.
  3. Its does not have parameters and logic.

  • Every class object is created using the same new keyword , so it must have information about the class to which it must create object .
  • For this reason constructor name should be same as class name.

By using new keyword, if new keyword is used in calling then constructor is executed else method is executed.

Yes, it is allowed to define a method with same class name. No compile time error and no runtime error is raised, but it is not recommended as per coding standards.

No. compiler places default constructor only if there is no explicit constructor.