Scala中的静态内部类
- 论坛
- Scala中的静态内部类
9 浏览
Scala中的静态内部类
在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)
这种方式冗长且可怕。我可以将`SomeHorriblyLongNameType`替换为`Type`,但是它和它相关的类之间就没有明显的联系了。哎呀。