绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Java Bean 为什么必须要有一个无参构造函数?
2019-12-12 09:55:12

作者:西奥多先生

来源:https://segmentfault.com/a/1190000012940879

JAVA EE 中,JavaBean 是一个很重要的概念,而 JavaBean 还有以下的使用习惯。

首先我们知道,有两种方法为java对象中的元素赋值:

1. 通过类的带参数构造函数的方法

2. 通过类的set方法

在 JavaBean 里,一般参数在4个以上的,极不推荐使用带参数构造函数赋值:

1. 对于一个实体类,对于多个参数,降低可读性

2. 需要记住构造参数的顺序

3. 一个参数就会造成整个构造函数失效

4. 当我们要添加新的属性时,不仅要传参数,还要修改构造函数,同时之前所有的构造都要修改

5. 必须在对象创建之前给参数赋值,而不可以在对象创建后赋值

使用set方法的优势:

1. 我们可以显式的看到赋值元素的名称

2. 可以以任何顺序赋值

3. 可以忽略一些元素的初始化

4. 添加新属性时,不需要修改类

5. 可以在对象创建后赋值

所以对于javaBean,好的方法就是只定义一个无参数构造函数,然后用set方法来赋值,后复习一下类的构造器概念:

一个类可以重载多个构造函数,只要他们的参数不同,当没有申明构造函数时,java将自动创建构造函数,若已申明带参数构造函数,必须申明无参数构造函数

否则当你调用无参数构造函数时,将会编译错误对于一个普通的没有父类的类:

TO a class that has not a explicit super class then it has an implicit superclass of Object,which does have a no-argument constructor.


分享好友

分享这个小栈给你的朋友们,一起进步吧。

Java小专栏
创建时间:2019-08-08 21:32:06
Java专栏专注技术分享
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • lihong
    栈主

小栈成员

查看更多
  • 栈栈
  • 杨三百
  • at_1
  • gaokeke123
戳我,来吐槽~