java - 我可以使用 pico 容器共享同一类的两个对象吗?
问题描述
我可以喜欢吗
private SharableClass object1;
private SharableClass object2;
public ClassA(SharableClass object1, SharableClass object2){
this.object1=object1;
this.object2=object2;
}
然后填充object1和object2并共享。那可能吗?
解决方案
如果通过共享意味着访问代码中任何位置的 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)
}
推荐阅读
- java - Android比较字符串与数组并删除数组索引值
- angular - 创建模块的 Angular6 服务
- docker - 在 vespa 的同一个容器上部署多个应用程序包
- javascript - Prismic - 如何在不暴露访问令牌的情况下进行 API 调用
- javascript - 从另一个数组中选择同名项目
- sql - SQL Server 参数异常
- angular - url中的多个参数不起作用Angular 6
- python - 使用带有 Pandas 的 Google 表单替代已弃用的方法
- dart - Flutter Await 回调不给出任何响应
- json - Flutter JSON 重复索引