首页 > 解决方案 > 我可以使用 pico 容器共享同一类的两个对象吗?

问题描述

我可以喜欢吗

private SharableClass object1;
private SharableClass object2;

public ClassA(SharableClass object1, SharableClass object2){
    this.object1=object1;
    this.object2=object2;
}

然后填充object1和object2并共享。那可能吗?

标签: javarestcucumberpicocontainer

解决方案


如果通过共享意味着访问代码中任何位置的 object1 和 object2 的值,那么这些变量应该是静态的,如果你的意思是一旦你在代码中初始化了 ClassA 并且你想要访问 object1 和 object2 那么变量应该是上市。

你说的分享是这个意思吗?

澄清:

那么成员 object1 和 object2 必须是静态的,但如果你想保持私有,你应该在抽象类中声明这些变量,并且 ClassA 和 ClassB 继承该类。

public abstract class ClassAB{
    protected SharableClass object1;
    protected SharableClass object2;
}

public class ClassA extends ClassAB{
    //Change object1 and object2 (changes are applied in all ClassAB)
}

public class ClassB extends ClassAB{
    //Change object1 and object2 (changes are applied in all ClassAB)
}

推荐阅读