Simple version of the Game Of Life
just some minor things...

private boolean inBounds(int row, int col)
{
    if(row &lt; 0 || row &gt;= maxRow || col &lt; 0 || col &gt;= maxCol)
        return false;
    else
        return true;
}


could be more clear if you directly return the value

private boolean inBounds(int row, int col)
{
    return (row &gt;= 0 &amp;&amp; row &lt; maxRow &amp;&amp; col &gt;= 0 &amp;&amp; col &lt; maxCol)
}


the same matters for isAlive() 

public boolean isAlive(int row, int col)
{
    return inBounds(row, col) &amp;&amp; board[row][col];
}


another thing is the name of the variable maxRows and maxColumns is not exactly what they are, i would use the simple forms for them rows and columns since they are rows and columns... 

that would not even make conflicts for your iterations for(int row = 0; row &lt; rows; row++)...

remove your whitespace, that makes reading easier...