gpt4 book ai didi

java - 为什么我们在 Java 中需要一个默认的无参数构造函数?

转载 作者:太空狗 更新时间:2023-10-29 22:50:18 25 4
gpt4 key购买 nike

为什么在许多 Java 相关 API 中我们需要一个默认的无参数构造函数?作为一般规则,所有 java bean 类或实体类(JPA 等)或 JAX-WS 实现类都需要显式无参数构造函数。

如果默认情况下 Java 提供无参数构造函数,那么为什么大多数这些标准都需要显式构造函数?

最佳答案

Java 只提供一个默认的无参数构造函数如果没有定义其他构造函数。因此,如果您有其他构造函数,则必须自己明确定义一个无参数构造函数。

这些框架使用反射 API 并查看方法名称来确定如何设置属性。构造函数的参数只能按类型而不是名称找到,因此框架无法可靠地将属性与构造函数参数匹配。因此,他们需要一个无参数的构造函数来创建对象,然后可以使用 setter 方法来初始化数据。

一些框架可能支持@ConstructorProperties作为替代方案。

关于java - 为什么我们在 Java 中需要一个默认的无参数构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3078389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com