gpt4 book ai didi

java - 如何访问在 Java 中实现的也具有同名方法的父类(super class)的字段?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:31:10 25 4
gpt4 key购买 nike

我想扩展一个用 Java 实现的类。这是一个例子:

public interface JavaInterface {
/** Computes foo. */
public String foo();
}

public class ThisIsJava implements JavaInterface {
protected String foo = "foo";

/** Returns value of property foo. */
public String foo() { return foo; }
}

但是,当我在 Scala 中扩展这个类时,如何区分字段和方法 foo 之间的歧义?

class ThisIsScala extends ThisIsJava {
def fooBar = super.foo + "/bar" // doesn't compile
}

最佳答案

您不能访问 foo 字段,因为它是私有(private)的。您只能通过 super.foo() 访问它。

更新:我认为您有这个问题,因为在 Scala 中,字段和方法之间没有区别,所以唯一的选择是为 ThisIsJava 提供一个适配器,并在 Scala 中扩展该适配器。

关于java - 如何访问在 Java 中实现的也具有同名方法的父类(super class)的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893476/

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