【问题标题】:Creating an object inside an object through parameters - Java通过参数在对象内部创建对象 - Java
【发布时间】:2021-07-20 12:42:52
【问题描述】:

所以我有三个必须相互集成的类。他们保存有关大陆、大陆上的国家和该国山峰的数据。

一切正常,但我就是不知道应该如何将一个对象输入到另一个对象的参数中。

例子:

public Country(String name, Peak newPeak) {
    this.name = name;
    peaks.add(new Peak(name, height));
}

主要方法:

public class Main {

    Continent Europe = new Continent();

    Country Germany = new Country("Germany", new Peak("The Alps", 3456);
    Europe.addCountry(Germany);

}

我的 main 应该是这样的。

【问题讨论】:

  • 如果你传递一个Peak实例直接使用它,只需peaks.add(newPeak)
  • newPeak的参数怎么样
  • 在主代码中,你怎么称呼这一切?国名怎么选?
  • 使用“new”关键字,例如。亚洲大陆 = 新大陆(新国家(...),新峰(...));
  • 但我也有一个 addCountry 方法,它以 Country 和 Peak 作为参数

标签: java class object oop


【解决方案1】:

在创建 Country-object 的实例时,您可以输入已创建的 Peak:

Peak p = new Peak(peakName, height);

Country c = new Country(countryName, p);

或者你调用 Peak 的构造函数而不是 Peak 对象:

Country c = new Country(countryName, new Peak(peakName, height));

还有一件事:注意变量的命名。在您的示例中,峰和国家/地区将具有相同的名称。

【讨论】:

  • 是的,我想我会这样做,我试图在 Continent 构造函数中创建所有内容,但没有成功。谢谢大家!
猜你喜欢
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
相关资源
最近更新 更多