什么是Java这样的Scala中模拟:静态内部类中阶
public class Outer {
private Inner inner;
public static class Inner {
}
public Inner getInner() { return inner; }
}
我特别希望我的内部类不必须有一个完全合格的名称 - 即我想Trade.Type
,不是TradeType
。因此,在斯卡拉我想象它可能是这样的:
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)
这是详细和可怕的。我可以用代替Type
,但是它和它所涉及的类之间没有明显的联系。呼
如果您在Scala中声明了一个类中的对象,那么它在该类之外是不可见的(或者我不知道如何制作它)。你的回答并不完全是我所问的:我在问我如何在Scala中做些什么,而不是问Scala如何处理Java静态代码 – 2009-07-01 17:14:08
我已经在orig qn上展开 – 2009-07-01 17:20:56