Java:在各种其他类中使用相同的类实例

这可能是一个愚蠢的问题,但我不知道它的答案,我不知道在哪里搜索答案,所以如果有人可以帮助我会很好。

我有一个类(让我们命名为A)具有不同的成员和方法。 我在另一个类中使用此类的方法(让我们将其命名为B)。

对于每个创建的B-Object,我想使用A的SAME实例。这可能吗? 实际上我在B中有一个构造函数,我称之为A a = new A(); 当然,我总是得到这个类的不同实例。

我现在该怎么改变这个? 我知道可以用spring框架解决它(将相同的对象注入到B的实例中),但我无法使用它。 怎么还能解决这个问题?

非常感谢您的帮助! 🙂

是的可能。 您需要定义一个静态的classA的单例实例,并在任何您想要的地方使用它。

所以有多种方法可以做到这一点:

public class ClassA { public static ClassA classAInstance = new ClassA(); } 

然后你可以做任何事情

 ClassA.classAInstance.whatever(); 

这很简单,但对您来说可能已经足够了。

如果您真的想使用单例模式,请在此处查看Java示例。 这种方法的优点是它确保您只有1个classA实例。

详细说明其他答案:

 public class A { private static A instance; private A() { ... } public static A getInstance() { if (instance == null) instance = new A(); return instance; } ... public void doSomething() { ... } } 

然后像这样打电话给B:

 A.getInstance().doSomething(); 

听起来你可能希望A成为一个单身人士 。

在软件工程中,单例模式是一种设计模式,用于通过将类的实例化限制为一个对象来实现单例的数学概念。

这意味着您必须修改现有代码以使用某种getInstance()方法,但是一旦进行了更改,B类的所有实例都将使用A类的单个实例。

以下是上述网站中最简单示例的直接链接。

只需使用静态类并确保它是公开的。

虽然你可以使用单例设计模式每次共享同一个实例但是如果你想使用带参数的相同实例(重载构造函数)..你不能使用SINGLETON