最近私はKotlinを見つめてJavaでの経験があります。 Javaでは、親と同じ名前のフィールドを宣言できます。 Kotlin
で同じことをすると、エラーname hides member of Super type User
が返されます。私はここで何が欠けていますか? Javaの親クラスの子クラスと同じプロパティを宣言する
public class A {
protected String name;
}
public class B extends A {
String name;
}
技術的にはJava *でも*スーパータイプのメンバを隠しますが、Javaのコンパイラではエラーが発生しませんが、おそらく警告が表示されます。 – Powerlord
[Javaとは異なり](https://kotlinlang.org/docs/reference/classes.html#overriding-methods)、Kotlinは、上書き可能なメンバーと上書きするための明示的な注釈を必要とします。 – BakaWaii