gpt4 book ai didi

java - 在子类中声明与在父类中相同的属性

转载 作者:行者123 更新时间:2023-11-29 04:22:51 25 4
gpt4 key购买 nike

最近盯上了Kotlin,有Java方面的经验。在 Java 中,我们可以声明与父字段同名的字段。当我在 Kotlin 中执行相同操作时,它给出错误 name hides member of Super type User。我在这里缺少什么?

Kotlin

open class User(protected var name: String)

class TwitterUser(var name: String) : User(name)

Java 的相同概念

public class A {
protected String name;
}

public class B extends A {
String name;
}

最佳答案

问题是,您隐藏了原始属性的实现。但无论如何都有一种可能性:

open class User(protected open var name: String)

class TwitterUser(override var name: String) : User(name)

你只需要考虑,这主要改变了属性的实现。您将无法单独访问 User.nameTwitterUser.name。就是一样。

关于java - 在子类中声明与在父类中相同的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48032892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com