Доступ к полям Val осуществляется через методы с тем же именем.
scalac -Xprint: typer покажет вам, что:
class TestScala extends java.lang.Object with ScalaObject {
<paramaccessor> private[this] val myNumber: Int = _;
def this(myNumber: Int): $iw.$iw.TestScala = {
TestScala.super.this();
()
};
private[this] val myNum: Int = TestScala.this.myNumber;
<stable> <accessor> def myNum: Int = TestScala.this.myNum
}
Так в Java int x = t.myNum();
работает.