作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
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
但是它和它相关的类之间没有明显的联系。呸
最佳答案
如果不需要访问内部类中的外部类(鉴于您的内部类被声明为 static
,您在 Java 中就没有),您可以这样做:
object A{
class B {
val x = 3
}
}
class A {
// implementation of class here
}
println(new A.B().x)
关于java - scala中的静态内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1069987/
我是一名优秀的程序员,十分优秀!