在另一个类构造函数中调用类?JAVA
我不明白其他人为此做了什么。出于某种原因,似乎缺乏这方面的教育。但我认为对于java来说,它的唯一目的是使用多个类,这一点非常重要。我的问题是,如何以封装类板实例的方式构建“播放器类构造函数”在另一个类构造函数中调用类?JAVA,java,constructor,encapsulation,Java,Constructor,Encapsulation,我不明白其他人为此做了什么。出于某种原因,似乎缺乏这方面的教育。但我认为对于java来说,它的唯一目的是使用多个类,这一点非常重要。我的问题是,如何以封装类板实例的方式构建“播放器类构造函数” public class Driver { public static void main(String[] args) { //new tic-tac-toe board Board board = new Board(); //two
public class Driver
{
public static void main(String[] args)
{
//new tic-tac-toe board
Board board = new Board();
//two new players (conputer and human)
Player computer = new Player(board, "X"); //Give computer player access to board and assign as X.
Player human = new Player(board, "O");
}
}
这就是我所拥有的,我做得对吗
public class Player
{
char player = 'X';
char cpu = 'O';
public static Scanner scan = new Scanner(System.in);
//constructor with board class inside?
public Player(Board board , String inBoard )
{
}
}
您需要在
播放器
类中添加一个字段,例如板
。然后,在构造函数中,执行以下操作:
this.board = board;
不,你想错了<代码>播放器可以在没有
板
的情况下存在和运行。当然,没有棋盘
他不能玩,但他可以做其他事情,比如找一块棋盘
玩。同时,棋盘
是无生命的物体,其唯一目的是为玩家
提供一个玩耍的地方<代码>棋盘并不关心哪个玩家
在上面玩
所以,创建构造函数时的一般规则是将对象作为参数传递,而不是相反。例如,您应该将
汽车
传递到驾驶员
构造器中,但不应该将驾驶员
传递到汽车
构造器中,因为汽车不需要任何特定的驾驶员
来充当汽车。同时,驾驶员需要一辆汽车来充当驾驶员。课程不“调用”。你是说“创建类”实例吗?另外,请澄清您所说的内置board类的构造函数是什么意思。目前,您的要求还很不清楚。在OOP、构造函数和字段变量方面缺乏教育?这是一个建议的标记,如果它把您甩了,很抱歉。@owacorder它在评论中。我喜欢这个解释,谢谢。