什麼是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