Javaでこれを行うことのScalaでの類似物は何ですか:
public class Outer {
private Inner inner;
public static class Inner {
}
public Inner getInner() { return inner; }
}
特に、内部クラスに完全修飾名を付ける必要がないことを望んでいます。つまり、必要Trade.Type
ではありませんTradeType
。したがって、Scala では、次のようなものになると想像しました。
class Outer(val inner: Inner) {
object Inner
}
しかし、これは機能していないようです。私のスカラは、クラスInner
の外から見えないようです。Outer
もちろん、1つの解決策は次のとおりです。
class Inner
class Outer(val inner: Inner)
これは問題ありませんが、私のクラスの名前のせいで、Inner
は実際には の「型」でありOuter
、Outer
実際には長い名前を持っています。そう:
class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)
これは冗長で恐ろしいものです。SomeHorriblyLongNameType
justに置き換えることはできType
ますが、それとそれが関連するクラスとの間に明らかなつながりはありません。ふぅ