2017-07-18 8 views
9

kotlinアクティビティを作成しましたが、アクティビティを拡張できません。メッセージは ""となっています。から継承することはできません "。ファイナルからコトリンの活動を取り除く方法は、それを拡張することができます。kotlinアクティビティを拡張することはできません。このタイプは最終的なので継承できません

+0

をするもの、最終的な場合は、それを拡張しようとするべきではありません。それは、それが「最終的」であるという目的を破るだろう。どんな授業を伸ばしようとしていますか? – Carcigenicate

答えて

4

デフォルトでは、kotlinアクティビティは最終的なものなので、クラスを拡張することはできません。 これを克服するためには、活動をオープンにして、拡張可能にする必要があります。 Kotlinのドキュメントを1としてopen class BaseCompatActivity : AppCompatActivity() { }

14

など

、クラスのオープン注釈は、Javaの最終の反対です。他の人がこのクラスから継承できるようにします。デフォルトでは、Kotlinのすべてのクラスが最終的です。

open class Base { 
     open fun v() {} 
     fun nv() {} 
    } 
    class Derived() : Base() { 
     override fun v() {} 
    } 

を参照してください:https://kotlinlang.org/docs/reference/classes.html

関連する問題