Java Bean 为什么必须要有一个无参构造函数?
2020-05-06 16:21:37来源:博客园 阅读 ()
Java Bean 为什么必须要有一个无参构造函数?
作者:西奥多先生
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方法来赋值,最后复习一下类的构造器概念:
public?Bicycle(int startCadence, int startSpeed, int startGear) {
????gear?= startGear;
????cadence?= startCadence;
????speed?= startSpeed;
}
Bicycle?myBike = new Bicycle(30,?0,?8);
public?Bicycle() {
????gear?=?1;
????cadence?=?10;
????speed?=?0;
}
Bicycle?yourBike = new Bicycle();
一个类可以重载多个构造函数,只要他们的参数不同,当没有申明构造函数时,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.
推荐去我的博客阅读更多:
1.Java JVM、集合、多线程、新特性系列教程
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
4.Java、后端、架构、阿里巴巴等大厂最新面试题
觉得不错,别忘了点赞+转发哦!
原文链接:https://www.cnblogs.com/javastack/p/12836342.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash