gpt4 book ai didi

java - 我在用 Java 从磁盘加载对象时遇到问题

转载 作者:行者123 更新时间:2023-11-29 08:56:21 24 4
gpt4 key购买 nike

我正在创建一个系统来从磁盘保存和加载对象。我创建了一个 Savable 接口(interface),其中包含读取和写入数据的方法,并且可以正常工作。我的程序中任何需要保存的东西都可以实现这个接口(interface)并使用它来保存和读取他们需要使用的任何数据。问题在于从磁盘读取对象时实际创建对象。现在,我保存对象的类名,然后在读取它们时使用 Class.forName(savedClassName).newInstance(); 实例化它们。这样做的问题是它要求任何 Savable 类都有一个无参数的构造函数,但是没有办法在接口(interface)本身中强制这样做。因此,如果我或与我一起工作的人试图创建一个 Savable 对象但忘记包含一个无参数构造函数,那么就会出现异常,而且我们很可能很长时间都不会发现它们.我不知道如何解决这个问题,因为似乎没有办法使用接口(interface)来要求以可预测的方式构造对象。

最佳答案

如何禁止没有默认构造函数的类被保存。这样一来,任何人都会尝试加载的唯一类是已保存的类,因此具有默认构造函数的类。

关于java - 我在用 Java 从磁盘加载对象时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20141765/

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