java - 跨多个类传递参数

标签 java class arguments

如果我有一组类,假设类 A、B、C 和 D,并且 A 类启动 B 类,B 类启动 C 类,C 类启动 D 类,并且它们的参数必须从 A 传递到 D,什么是最好的传递方式吗?我必须在我拥有的所有类中传递参数吗? 我尝试了这个解决方案,但我寻找一个更简单的解决方案。

class A
{
B b=new B(the_arguments);
}

class B
{
C c=new C(the_arguments);

}

class C
{
D d=new D(the_arguments);
}

提前致谢。

最佳答案

您能否在每个连续的类中创建一个构造函数,该构造函数采用前一个类类型的单个参数?您需要创建适当的 getter,或者将参数公开给其他类(如果它们彼此派生,这也不会太糟糕)。

class A
{
  B b = new B(this);
}

class B
{
  B(A a) { this.foo = a.foo; ... }  // Constructor
  C c = new C(this);
}

class C
{
  C(B b) { this.foo = b.foo; ... }  // Constructor
  D d = new D(this);
}

class D
{
  D(C c) { this.foo = c.foo; ... }  // Constructor
}

关于java - 跨多个类传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23171955/

相关文章:

java - 在存储和访问另一个类的数组时出现 "java.lang.NullPointerException: Attempt to read from null array"错误

java - 将 java web 应用程序部署到 Heroku 时遇到问题

javascript - javascript类方法定义计算带配料的食品价格的最佳实践

c++ - 当参数在初始化列表时不可用时如何初始化成员对象?

java - 多态性:构造函数不接受参数

java - 验证错误与验证错误

java - 为什么 Spring Pageable 返回意外结果?

java - 如何作为类成员从数组中获取长度?

spring - 无法将参数从Gradle命令行传递到Spring项目(不是Boot)

ios - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序 ...原因( key : networkCarrier)