假设我们有一个名为Maze
的班级。现在假设我们有另一个名为MazeSolver
的类。因此,为了使用Maze中的方法,为了在Maze
中创建MazeSolver
对象,我们创建了private Maze maze
。然后在MazeSolver
的构造函数中,我们也写public MazeSolver(Maze maze)
。我的问题是,为什么我们要两个都做?这个想法背后的哲学是什么?为什么我们不能做一个或另一个反对做两件事我想我在哪里困惑。
答案 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的原因
我希望这能帮助您了解您的要求