0
私はkotlinを初めて使っています最近、kotlinで継承について学んでいます。そして、クラスの可視性を「保護されている」とマークすることはできません。私が間違っている場合は私を訂正するか、またはクラスを保護するための他の方法がありますか?kotlinでは、クラスの可視性を「保護されている」とマークできないのはなぜですか?
私はkotlinを初めて使っています最近、kotlinで継承について学んでいます。そして、クラスの可視性を「保護されている」とマークすることはできません。私が間違っている場合は私を訂正するか、またはクラスを保護するための他の方法がありますか?kotlinでは、クラスの可視性を「保護されている」とマークできないのはなぜですか?
protected
には、派生クラスからのみアクセスできるように、クラスの一部のみをマークすることができます。
open class X {
protected val v: SomeType = someValue
protected fun f() { }
protected class Y { ... }
}
しかし、あなたは、クラス(例えば、トップレベルのクラスまたは関数)に属していない
protected
何かをマークすることはできません、修正理由:あなたは
protected
メンバープロパティ、メンバ関数や入れ子になったクラスをマークすることができますトップレベルエンティティは継承の対象ではないため、アクセスする派生クラスは存在しません。
あなたはトップレベルのクラスを意味すると思います。それはどういう意味ですか?クラスを保護されているとマークするのはどういう意味ですか? –
ネストされたクラスは、Javaとまったく同じように保護できます。 –
正確なエラーに問題があるサンプルを表示する必要があります。なぜなら、あなたが求めるものは*許可されているので、別の何かをしなければならないからです。 –