title: What is an equivalent of private static final field in Kotlin?
body: <p>Actually the question is, which approach is better and which convention do you use? </p>
  
  <p>E.g. in order to improve readability we've added this field in Java class:</p>
  
  <pre><code>class Game {
  
      private static final int MAX_PLAYERS = 10;
  
      public boolean canWePlay(int playersCount) {
           return playersCount &lt;= MAX_PLAYERS;
      } 
  
      // getters and setters
  }
  </code></pre>
  
  <p>Now the better approach is to use companion object:</p>
  
  <pre><code>class Game {
  
      fun canWePlay(playersCount: Int): Boolean {
          return playersCount &lt; MAX_PLAYERS
      }
  
      companion object {
  
          val MAX_PLAYERS = 10
      }
  }
  </code></pre>
  
  <p>or and <code>const val</code> outside the class:</p>
  
  <pre><code>private const val MAX_PLAYERS = 10
  
  class Game {
  
      fun canWePlay(playersCount: Int): Boolean {
          return playersCount &lt; MAX_PLAYERS
      }
  }
  </code></pre>
  
  <p>or maybe do you use different approaches?</p>
  
  <p>And the additional question is, if we use the second convention, should we use camel case or uppercase with underscore? (I'm talking manly about Android code).</p>