Java Bean 为什么必须要有一个无参构造函数?

简介: JAVA EE 中,JavaBean 是一个很重要的概念,而 JavaBean 还有以下的使用习惯。首先我们知道,有两种方法为java对象中的元素赋值:

image.png

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.


相关文章
|
16天前
|
XML Java 程序员
作为Java程序员还不知道Spring中Bean创建过程和作用?
作为Java程序员还不知道Spring中Bean创建过程和作用?
12 0
|
1月前
|
Java 数据库 Spring
Spring Bean、Java Bean和对象的区别与联系
Spring Bean、Java Bean和对象的区别与联系
38 0
|
2月前
|
缓存 Java 编译器
Java 构造函数与修饰符详解:初始化对象与控制权限
Java 构造函数 是一种特殊的类方法,用于在创建对象时初始化对象的属性。它与类名相同,并且没有返回值类型。 构造函数的作用: 为对象的属性设置初始值 执行必要的初始化操作
54 0
|
6月前
|
Java Spring
【Java】Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean
【Java】Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean
86 0
|
6月前
|
前端开发 Java 数据处理
每日一道面试题之介绍一下Java Bean并谈谈它的命名规范~
每日一道面试题之介绍一下Java Bean并谈谈它的命名规范~
103 0
|
4月前
|
Java
【Java报错】多数据源mapper异常more than one `primary` bean found among candidates: [sqlSessionFactory] 问题分析解决
【Java报错】多数据源mapper异常more than one `primary` bean found among candidates: [sqlSessionFactory] 问题分析解决
92 0
|
4月前
|
Java
Java面向对象编程,构造函数和方法的区别是什么?
Java面向对象编程,构造函数和方法的区别是什么?
43 2
|
4月前
|
Java
【Java练习题】Java 程序的输出 | 第十四套(构造函数)
【Java练习题】Java 程序的输出 | 第十四套(构造函数)
43 0
|
5月前
|
XML Java 数据格式
一篇文章了解Java spring中bean的生命周期!
一篇文章了解Java spring中bean的生命周期!
132 0
|
6月前
|
XML Java 开发者
Spring bean 和 Java Bean的区别
JavaBean 是一种特殊的 Java 类,遵循一定的命名规范和属性访问规范。它是一种用于表示简单数据类型、封装业务逻辑或与其他对象交互的可重用组件。
308 0