Statyczne klasy wewnętrzne w scali

Co jest analogiczne w Scali w Jawie:

public class Outer {
  private Inner inner;

  public static class Inner {
  }

  public Inner getInner() { return inner; }
}

Szczególnie chcę, aby moja klasa wewnętrzna byłanie muszą mieć w pełni kwalifikowaną nazwę - tzn. chcęTrade.Type, nieTradeType. Tak więc w Scali wyobrażałem sobie, że może to być coś w stylu:

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

Ale to nie działa: moja scalaInner po prostu nie wydaje się być widoczny z zewnątrzOuter klasa. Jednym z rozwiązań byłoby oczywiście:

class Inner
class Outer(val inner: Inner)

Co jest w porządku - ale z powodu nazw moich klas,Inner jest naprawdę „typem”Outer iOuter faktycznie ma długą nazwę. Więc:

class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)

Co jest gadatliwe i okropne. Mogę zastąpićSomeHorriblyLongNameType z justType ale wtedy nie byłoby oczywistego związku między nim a klasą, z którą był powiązany. Uff

questionAnswers(5)

yourAnswerToTheQuestion