1. Define 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.
2.What are the Rules in defining a 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.
3. Can we define a method with same name of class?
- 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.
4.If we place return type in constructor prototype will it leads to Error?
- No, because compiler and JVM considers it as a method.
5. How compiler and JVM can differentiate constructor and method definitions of both have same class name?
- By using return type , if there is a return type it is considered as a method else it is considered as constructor.
6. How compiler and JVM can differentiate constructor and method invocations of both have same class name?
- By using new keyword, if new keyword is used in calling then constructor is executed else method is executed.
7.Why return type is not allowed for constructor?
- 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.
8.Why constructor name is same as class name?
- 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.
9.Can we declare constructor as private?
- Yes we can declare constructor as private.
- All four access modifiers are allowed to
- We should declare constructor as private for not to allow user to create object from outside of our class.
- Basically we will declare private constructor in Singleton design pattern.
- Read more at Can we create private constructor in java
10.Is Constructor definition is mandatory in class?
- No, it is optional . If we do not define a constructor compiler will define a default constructor.
11. Why compiler given constructor is called as default constructor?
- 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.
12. what is default accessibility modifier of default constructor?
- It is assigned from its class.
13.When compiler provides default constructor?
- Only if there is no explicit constructor defined by developer.
14.When developer must provide constructor explicitly?
- 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.
15.If class has explicit constructor , will it has default constructor?
- No. compiler places default constructor only if there is no explicit constructor.
17.Java Static Constructor : is it possible to create static constructor?
18.Constructor in interface ?
19.Differences between default constructor and no argument constructor
20.What is the order of execution of constructor with Non static blocks
- Print prime numbers?
- Java Program Find Second highest number in an integer array
- Java Interview Program to find smallest and second smallest number in an array
- Java Coding Interview programming Questions : Java Test on HashMap
- How to check internet connection using java
- Constructor chaining in java with example programs
- Top 10 Interview Programs and questions on method overriding in java
- Swap two numbers without using third variable in java
- Find sum of digits in java
- How to create immutable class in java
- AtomicInteger in java
- Check Even or Odd without using modulus and division
- String Reverse Without using String API
- Find Biggest substring in between specified character
- Check string is palindrome or not?
- Reverse a number in java?