2
は、我々は次のように設定していると言うNPE作成:初期化時にオーバーライド変数が変数は、スーパークラスで初期化に使用される場合に
open class Foo(open val img: Image) {
val use = img.graphics
}
class Bar(override val img: BufferedImage) : Foo(img)
を、img.width
の使用は、NPEを作成します。私が問題と思うのは、明らかにimg
がFooのコンストラクタでBarに直接渡されても、Fooで使用されているときに、Barクラスのオーバーライドされた変数を指しています。どうすればこれを避けることができますか?