在另一个类构造函数中调用一个类? java的

时间:2015-10-30 14:43:31

标签: java constructor encapsulation

我不明白其他人为此做了什么。由于某种原因,似乎缺乏关于这一主题的教育。但我认为对java而言,它的唯一目的是使用多个类是非常重要的。我的问题是,如何构建"播放器类构造函数"以封装类板实例的方式?

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 )
    {

    }

}

2 个答案:

答案 0 :(得分:1)

您需要添加字段,例如boardPlayer课程。this.board = board; 。然后,在构造函数中,执行以下操作:

<div id="timebg">
</div>
<div id="time">
</div>

答案 1 :(得分:1)

不,你在想错了。 Player可以在没有Board的情况下存在和运行。当然,他不能在没有Board的情况下进行比赛,但是他可以做其他事情,比如寻找Board进行比赛。同时Board是无生命的对象,唯一的目的是为Player提供一个场所。 Board并不关心Player在其上播放的内容。

创建构造函数时的一般规则是传递对象作为参数所需的对象,而不是相反。例如,您应该在Car构造函数中传递Driver,但是您不应该将Driver传递给Car构造函数,因为car不需要任何特定的Driver来作为汽车的功能。同时,司机需要一辆车作为司机。