Java:同一Java类的多个对象?

Java:同一Java类的多个对象?,java,Java,假设我有两个java类A和B,如果我在A中创建java类B的多个对象,那么这是否意味着每个对象在内存中是单独分配的呢 您根本不需要担心这个问题,除非您正在创建数百万个实例。是的,每个对象都在内存中单独分配。您是否应该使用类B的单个实例完全取决于您正在做什么。如果您基本上需要两个具有不同状态的独立实例,那么很难看出如果不创建两个实例,您将如何逃之夭夭……如果类A的多个实例可以使用相同的类B实例正确运行,则在类A中使B的实例成为静态的 乙二醇 那么,这是否意味着每个对象都在内存中单独分配 对 我必须

假设我有两个java类A和B,如果我在A中创建java类B的多个对象,那么这是否意味着每个对象在内存中是单独分配的呢


您根本不需要担心这个问题,除非您正在创建数百万个实例。

是的,每个对象都在内存中单独分配。您是否应该使用类B的单个实例完全取决于您正在做什么。如果您基本上需要两个具有不同状态的独立实例,那么很难看出如果不创建两个实例,您将如何逃之夭夭……

如果类A的多个实例可以使用相同的类B实例正确运行,则在类A中使B的实例成为静态的

乙二醇

那么,这是否意味着每个对象都在内存中单独分配

我必须使用类B的单个实例来节省内存吗


你想在这里完成什么?。这完全取决于您想做什么。

您为特定类分配的每个对象都将使用单独的内存位置。如果要使用共享功能进行保存,可以使用

每个对象都将获得分配给它的内存,因此如果在
A
中声明了
B
的多个实例,则每个实例都将单独分配


一般的经验法则是根据需要经常创建实例。除非您正在创建数量惊人的软件,或者您正在一个非常受限的硬件环境中工作,否则不会有问题。

向我们展示一些代码。你的问题不清楚。@马特·鲍尔:对不起,我不能在这里添加来源。我只是想问,同一类的多个对象是否使用共享或单独的内存分配。@sam:您不必特别地显示代码,而是在代码中显示一个通用的示例。
public class A {
    // Every instance of A has access to this single instance of B
    private static B b = new B();
}