title: Does Java 10 provide a val keyword? If not, why not?
body: <p>Java 10 brings a C#-like <code>var</code> keyword for <a href="https://developer.oracle.com/java/jdk-10-local-variable-type-inference" rel="noreferrer">local type-inference</a>. </p>
  
  <p>But does Java 10 also provide a <code>val</code> keyword, as is <a href="https://stackoverflow.com/questions/4437373/use-of-def-val-and-var-in-scala">found in Scala</a>? </p>
  
  <p><code>val</code> would work like <code>var</code> but the binding would be <code>final</code>. </p>
  
  <pre><code>var x = "Hello, world. ";
  x = "abc"; // allowed
  
  val y = "Hello, world. ";
  y = "abc"; // forbidden
  </code></pre>
  
  <p>If it does not, is there a reason that this is the case? </p>