Top 15 Java Interview Questions on Constructors

80 篇文章 0 订阅

Top 15 Java Interview Questions on Constructors

Posted by: instance of java Posted date: 16:55

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
  •  constructor.
  • 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.
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.

src: http://www.instanceofjava.com/2015/04/java-interview-questions-on-constructors.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值