java - Java中在另一个类中创建一个类的两个对象

标签 java class constructor

我正在尝试在 SiloManager 类中创建 Silo 类的两个对象,以便我可以访问这两个对象的方法。但我似乎无法使 SiloManager 构造函数工作,也无法正确实例化类。 (我是java初学者)。这是我的代码:

public class GrainSiloManager {

    public GrainSilo silo1 = new GrainSilo(100);
    public GrainSilo silo2 = new GrainSilo(50);


    public GrainSiloManager(GrainSilo silo1, GrainSilo silo2) {
        this.silo1 = silo1;
        this.silo2 = silo2;
    }

    private void showStatus() {
        System.out.println("The current grain in silo1 is: " + silo1.getGrain());
        System.out.println("The current grain in silo2 is: " + silo2.getGrain());
    }

}

正如我所说,我是初学者,所以放轻松,谢谢您的帮助。

最佳答案

public GrainSilo silo1 = new GrainSilo(100);
public GrainSilo silo2 = new GrainSilo(50);


public GrainSiloManager(GrainSilo silo1, GrainSilo silo2) {
    this.silo1 = silo1;
    this.silo2 = silo2;
}

这将被编译为:

public GrainSilo silo1;
public GrainSilo silo2;


public GrainSiloManager(GrainSilo silo1, GrainSilo silo2) {
    this.silo1 = new GrainSilo(100);
    this.silo2 = new GrainSilo(50);
    this.silo1 = silo1;
    this.silo2 = silo2;
}

正如你所看到的,这几乎没有任何意义。您将使用传递到构造函数的对象来覆盖您创建的对象。

关于java - Java中在另一个类中创建一个类的两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915980/

相关文章:

java - 如何使用 Java 获取 XML id 值?

java - 打印彩色日志消息

java - 如何在java中将 map 转换为实体对象?

Java——多个类

c++ - 如何为变量分配一个新对象

java - 如何使用 Java 8 `Files.find` 方法?

java - 语法查询异常,对象无法映射

php - 使用 PHP 类时的 SQL 查询效率

Python 类给出 "None in the ouptut"

c++ - 在构造函数和析构函数中打印值