Статические внутренние классы в скале

Какой аналог в Scala делает это на Java:

public class Outer {
  private Inner inner;

  public static class Inner {
  }

  public Inner getInner() { return inner; }
}

Я специально хочу, чтобы мой внутренний классnot должен иметь полное имя - т.е. я хочуTrade.TypeнеTradeType, Так что в Scala я представлял, что это может быть что-то вроде:

class Outer(val inner: Inner) {
    object Inner
}

Но это, похоже, не работает: моя скалаInner просто не виден снаружиOuter учебный класс. Одним из решений, конечно, будет:

class Inner
class Outer(val inner: Inner)

Что нормально - но из-за названий моих классов,Inner действительно является "типом" изOuter а такжеOuter на самом деле имеет длинное имя. Так:

class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)

Что многословно и ужасно. Я мог бы заменитьSomeHorriblyLongNameType простоType но тогда не было бы очевидной связи между ним и классом, с которым он был связан. фу

Ответы на вопрос(5)

Ваш ответ на вопрос