gpt4 book ai didi

java - 存储实际的类逻辑/蓝图并再次加载

转载 作者:行者123 更新时间:2023-11-30 09:28:38 25 4
gpt4 key购买 nike

如果我有这样的类(class):

class Foo implements HasBarMethod {
public double bar(double x) {
return x*x;
}
}

现在我有

Foo foo = new Foo();
someObjectOutputStreamToSomeFile.writeObject(foo);

被执行。后来我决定改变 Foo 的定义,像这样:

class Foo implements HasBarMethod {
public double bar(double x) {
return x+x;
}
}

是否可以这样做:

HasBarMethod foo = (HasBarMethod)someObjectInputStreamFromSameFile.readObject();

HasBarMethod 没有改变。现在我想从 foo.bar(x) 中得到 x 的平方,而不是总和。这可能吗?

当然,我应该使用不同的名称创建不同的类 Foo1、Foo2、...,这是一种很好的做法。如果我正在制作一个包含不同类型博客的网站,我会的。但是考虑到我正在做实验性的东西(很多数字和很多解释它们的方法),如果不同的 Foo 类只会有小的适应

最佳答案

Java 序列化保存字段。这些方法的说明保存在类文件中。

也许考虑保存不同的类文件和不同的类加载器,或者使用字节代码库根据输入文件进行小的更改,尽管这两种方法可能比为不同的行为使用不同的命名类要复杂得多.

关于java - 存储实际的类逻辑/蓝图并再次加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13935282/

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