java - 在没有硬编码参数的情况下调用构造函数(耦合)

标签 java

我有一个创建新对象 Student 并将其添加到数组列表 studentRegister 的方法:

public void addStudent(String name, String age)
{
     studentRegister.add(new Student(name, age));
}

它在这里调用了 Student 类的构造函数:

public Student(String name, String age) 
{
  this.name = name;
  this.age = age;
}

这可行,但不利于可维护性,因为我必须更改 Student 类和 addStudent 方法中的任何其他参数。如何在 addStudent 阶段输入参数而不在 addStudent 方法中对它们进行硬编码?

最佳答案

只需这样做:

public void addStudent(Student s)
{
     studentRegister.add(s);
}

在构造函数/其他方法中,您可以调用上述方法,如下所示:

public Student(String name, String age) 
{
  this.name = name;
  this.age = age;
  addStudent(this); //here is the call to the above method
}

关于java - 在没有硬编码参数的情况下调用构造函数(耦合),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19525188/

相关文章:

java - 如何通过在 android 中启动一个新的 Activity 来处理 IOException

java - 使用SQLite记录传感器数据

java - 将参数从 Controller 传递到 Action

java - teechart java 中 setMinMax() 函数后重叠标签

java - 如何在 Realm 中存储枚举?

java - 为什么我无法在 hazelcast mancenter 控制台中获取 map 条目?

java.lang.VerifyError : Constructor must call super() or this() before return 错误

java - JSF 中的 "for"循环

java - 如何使用 "continue"跳回到 "do"循环的开头?

java - XML 与 Java 配置。 SpringMVC Web 应用程序配置