gpt4 book ai didi

java - 为什么我们需要一个空的构造函数来传递/保存来自 Firebase 的数据?

转载 作者:搜寻专家 更新时间:2023-11-01 08:21:53 25 4
gpt4 key购买 nike

也许这个问题有点简单,但我不明白为什么我们需要一个空的构造函数来传递来自 Firebase 的数据。这是代码示例:

public class Hero{
String Name, Weapon, Description, Price, Discount, Id;

public Hero() {
}

public Hero(String name, String weapon, String description, String price, String discount, String id) {
Name = name;
Weapon= weapon;
Description = description;
Price= price;
Discount = discount;
Id= id;
}}

然后我们需要为每个菜单设置一个 getter 和 setter..

但令人头晕的是,为什么我们需要一个空的构造函数?真的有必要吗?

我们可以只创建一个类而不输入一个空的构造函数吗?这会是相同的结果吗?

最佳答案

类的字段将使用反射填充。但是你不能在没有构造函数的情况下创建“默认”对象(意思是:没有预填充的字段)。 Firebase 无法自行确定您的构造函数的作用,因此您需要一个空的构造函数:以允许 Firebase 创建对象的新实例,然后使用反射继续填充该实例。

这不是 Firebase 特有的:您会在框架或库为您填充对象的任何地方找到空的构造函数,例如 JPA/Hibernate。

编辑:为了完整起见,正如@Lutzi 提到的,一旦您定义了自己的构造函数,Java 定义的默认空构造函数就不再可用,这就是您需要显式定义它的原因。

关于java - 为什么我们需要一个空的构造函数来传递/保存来自 Firebase 的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50114944/

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