给出:
enum class Foo {
BAR,
BAZ { fun qux(foo: Any) {} }
}
这似乎是合法代码,但是当我尝试像这样访问qux()
时:
val foo = Foo.BAZ
foo.qux("blah")
...它不起作用,因为成员函数不可见。
是否可以通过枚举类访问qux()
?如果不是,那么枚举条目的自定义成员的用例是什么?
答案 0 :(得分:1)
您可以使用它来实现接口和抽象方法,但是由于这些主体块是anonymous classes,因此您将无法显式访问每个条目的值。
也许您正在寻找的东西可以通过使用sealed classes来实现?