Статические внутренние классы в скале
Какой аналог в 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
но тогда не было бы очевидной связи между ним и классом, с которым он был связан. фу