I dont think its pretty to use this as a class parameter because there could occur errors if the order of initialization of the objects is not right.
Whats best practise to avoid this?
Example:
public class Game{
    private Player p1, p2, currentPlayer;
    private Board board;
    Game() {
        board = new Board(this);
    }
    private boolean hasFieldsToBeClicked() {
            return board.checkFieldsToBeClicked();
        }
 
     
    