Java 我正在创建一个库程序。我该如何转帐?

Java 我正在创建一个库程序。我该如何转帐?,java,object,memory,data-transfer,Java,Object,Memory,Data Transfer,在我的程序中,“Book”对象的集合由“Shelf”对象持有,而一系列的对象由“Library”对象持有 每个“书架”上都有一定数量的书。目前,我有一本“参考”书来确定书架上能放的书。每个“书架”都有一个同一本书的副本数组列表,其中引用了与“参考”书相同的独特对象 当我将书架上的一本书传输给用户时,我是否应该传输“book”的整个实例及其引用变量,并将引用变量从书架上删除到该实例 或者 我是否应该跟踪带int变量的剩余图书数量,并简单地将参考变量复制到“参考”图书中以供用户使用 在本质上 自由内

在我的程序中,“Book”对象的集合由“Shelf”对象持有,而一系列的对象由“Library”对象持有

每个“书架”上都有一定数量的书。目前,我有一本“参考”书来确定书架上能放的书。每个“书架”都有一个同一本书的副本数组列表,其中引用了与“参考”书相同的独特对象

当我将书架上的一本书传输给用户时,我是否应该传输“book”的整个实例及其引用变量,并将引用变量从书架上删除到该实例

或者

我是否应该跟踪带int变量的剩余图书数量,并简单地将参考变量复制到“参考”图书中以供用户使用

在本质上

自由内存使用与保守内存使用

物理迁移与概念迁移


分别。

大概图书馆的书在书架上有固定的位置

在这种情况下,我只需将一本书标记为已签出,并记录该书到期归还的日期以及对签出该书的用户的引用

在用户端,他们可以拥有当前已签出图书的
列表。这是一对多的关系

这样,当用户检入书籍时,只需翻转一些标志,就不需要搜索书架上的书籍“放在哪里”


但是,如果您试图对库进行建模,则前一种方法似乎更适用……

复制引用变量,并删除旧的引用变量。不要在记忆中移动这本书。好的。我相信后者会更容易写。但是,我喜欢建模库的想法。但这样做似乎太过分了。只是建模一个库似乎比前者更具体。