私が達成しようとしているのは、私がJavaで使っている簡単なパターンで、documentationに従ってKotlinで実行できるはずです。私は、同じ抽象関数を実装するいくつかの定数定義を持つenumクラスを宣言したいだけです。Enum定数で抽象関数を実装する方法
私の問題は、自分のコードをコンパイルすることができないということです。私はいつも同じエラーが表示されます。ここでは
modifier abstract not allowed here
はコードです:
enum class Program {
HOME {
override fun readableName(context: Context): String {
return context.getString(R.string.program_home)
}
},
WEEKEND {
override fun readableName(context: Context): String {
return context.getString(R.string.program_weekend)
}
},
SHOPPING {
override fun readableName(context: Context): String {
return context.getString(R.string.program_shopping)
}
};
abstract fun readableName(context: Context): String
}
私もドキュメントからのサンプルコードを試してみましたが、まだでも、これはコンパイルされません。
誰でもこの奇妙な問題について考えてもらえますか? Btw私は現在Kotlin 1.0.6を使用しています。
"Enum anonymous class" - 匿名の部分は何ですか? 「Kotlinで抽象関数を使ってEnumを使う方法」なのかもしれませんか? – voddan
@voddan質問に基づいて、私はあなたが正しいと言います。私はタイトルを編集しました。 –