【发布时间】:2010-11-07 09:15:42
【问题描述】:
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
}
但这似乎不起作用:我的 scala Inner 似乎在 Outer 类之外不可见。一种解决方案当然是:
class Inner
class Outer(val inner: Inner)
这没关系 - 但由于我的类的名称,Inner 实际上是 Outer 的“类型”,Outer 实际上有一个长名称。所以:
class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)
这是冗长而可怕的。我可以只用Type 替换SomeHorriblyLongNameType,但它和与之相关的类之间将没有明显的联系。呸
【问题讨论】:
标签: java scala static inner-classes