Java Bean 为何必需要有一个无参构造函数

JAVAEE中,javaBean是一个很重要的概念
而JavaBean还有如下的使用习惯
clipboard.pngjava

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

1. 经过类的带参数构造函数的方法
2. 经过类的set方法

在javaBean里,通常参数在4个以上的,极不推荐使用带参数构造函数赋值:spa

1.  对于一个实体类,对于多个参数,下降可读性
 2. 须要记住构造参数的顺序
 3. 一个参数无效就会形成整个构造函数失效
 4. 当咱们要添加新的属性时,不只要传参数,还要修改构造函数,同时以前全部的构造都要修改。
 5. 必须在对象建立以前给参数赋值,而不能够在对象建立后赋值

使用set方法的优点:code

1.  咱们能够显式的看到赋值元素的名称
 2. 能够以任何顺序赋值
 3. 能够忽略一些元素的初始化
 4. 添加新属性时,不须要修改类
 5. 能够在对象建立后赋值

因此对于javaBean,最好的方法就是只定义一个无参数构造函数,
而后用set方法来赋值对象

最后复习一下类的构造器概念:ip

//constructor with parameters
public Bicycle(int startCadence, int startSpeed, int startGear) {
    gear = startGear;
    cadence = startCadence;
    speed = startSpeed;
}
Bicycle myBike = new Bicycle(30, 0, 8);
//constructor without parameters
public Bicycle() {
    gear = 1;
    cadence = 10;
    speed = 0;
}
Bicycle yourBike = new Bicycle();

一个类能够重载多个构造函数,只要他们的参数不一样
当没有申明构造函数时,java将自动建立构造函数
若已申明带参数构造函数,必须申明无参数构造函数
不然当你调用无参数构造函数时,将会编译错误
对于一个普通的没有父类的类:ci

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.
相关文章
相关标签/搜索