创建对象并在构造函数中使用它

时间:2013-12-11 16:49:45

标签: java constructor

假设我们有一个名为Maze的班级。现在假设我们有另一个名为MazeSolver的类。因此,为了使用Maze中的方法,为了在Maze中创建MazeSolver对象,我们创建了private Maze maze。然后在MazeSolver的构造函数中,我们也写public MazeSolver(Maze maze)。我的问题是,为什么我们要两个都做?这个想法背后的哲学是什么?为什么我们不能做一个或另一个反对做两件事我想我在哪里困惑。

2 个答案:

答案 0 :(得分:4)

存在迷宫参考的字段/变量:

private Maze maze;

还有构造函数,其中传递了Maze引用并设置了

public MazeSolver(Maze maze) { this.maze = maze; }

除此之外,您还需要提出更具体的问题。

答案 1 :(得分:0)

这里有两个选项 第一个是你可以像这样使用

public MazeSolver(Maze maze) { 
this.maze = maze; 
}

第二个选项是

public MazeSolver() { 
maze = new maza();; 
}

实际上你的要求是你需要使用maza行为,所以在这种情况下你需要一个maza类的实例(如果那些方法是非静态的)。这就是你需要初始化或将对象分配给maza的原因

我希望这能帮助您了解您的要求

相关问题