Scala 中与 Java 中的类似物是什么:
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
}
但这似乎不起作用:我的 scalaInner
似乎从Outer
课堂外看不到。一种解决方案当然是:
class Inner
class Outer(val inner: Inner)
这没关系 - 但由于我的类的名称,Inner
它实际上是“类型”Outer
并且Outer
实际上有一个长名称。所以:
class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)
这是冗长而可怕的。我可以SomeHorriblyLongNameType
用 just替换,Type
但它和它相关的类之间没有明显的联系。唷