title: Are sealed classes enforced in Java and, if yes, how?
body: <p>It is possible to define <code>sealed</code> classes in Scala, which are basically <code>final</code> except if the sub-classing happens in the same file.</p>
  
  <p>It seems that the JVM doesn't allow <code>final</code> class bytecode <em>and</em> subclasses of it.</p>
  
  <p>Considering that there is no "notion" of source file in the bytecode, how is this restriction enforced?</p>
  
  <p>Therefore, how can <code>javac</code> prevent a Scala <code>sealed</code> class from being sub-classed in Java?</p>