gpt4 book ai didi

java - scala中的静态内部类

转载 作者:IT老高 更新时间:2023-10-28 20:51:18 24 4
gpt4 key购买 nike

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 实际上是 OuterOuter 的“类型”名字很长。所以:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com