В лекции пишется "Чтобы постоянно не передавать ссылки на объекты, которые «существуют всегда», их обычно делают статическими переменными, и к ним можно обратиться из любого места программы. public class ChessBoard
{
   public static ChessBoard board = new ChessBoard();
   public ChessItem[][] cells = new ChessItem[8][8];
   ...
}
Ну или вместо статической переменной можно сделать метод, который возвращает единственный объект. Например, так:
public class ChessBoard
{
   private static ChessBoard board = new ChessBoard();
   public static ChessBoard getBoard()
   {
      return board;
   }

   public ChessItem[][] cells = new ChessItem[8][8];
   ...
}
" Подскажите, пожалуйста, а какова разница в этих подходах? Как понять, когда какой лучше использовать?