gpt4 book ai didi

java - 如何在构造函数中调用方法?

转载 作者:行者123 更新时间:2023-12-02 05:21:58 24 4
gpt4 key购买 nike

下面是我的 Range 类代码的一部分,以及一个名为 Tree 的单独类中的构造函数。在此构造函数中,我尝试将类范围中的对象实例化到我的树类。当我尝试在树类中编译构造函数时,它表示无法从静态上下文引用我尝试调用的方法。我以正确的方式处理这件事吗?我很确定这是一个很容易解决的问题,但我无法弄清楚。谢谢

public class Range{
int low, high;

public Range(int plow, int phigh){
low = plow;
high = phigh;
}

public int getLow(){
return low;
}

public int getHigh(){
return high;
}
<小时/>
public class Tree {
String name;

public Tree(String pname, int plow, int phigh) {
name = pname;
Range.getHigh() = phigh; <---where error message is
Range.getLow() = plow;
}
}

最佳答案

您的代码有两个问题:首先,getLow()getHigh()实例方法,而不是类方法。但是,您可以通过 Range.getLow()Range.getHigh() 调用它们,这意味着您在类 Range 上调用它们。这是不允许的。首先,您必须创建该类的实例:

ran = new Range(...)

然后调用此实例上的方法:

ran.getHigh();
ran.getLow();

代码的另一个问题是您试图为方法调用赋值:

Range.getHigh() = phigh;

这在 Java 中是不可能的。 Java 方法返回值,并且您不能分配给值。也就是说,方法 getHigh()getLow() 的目的是读取某个范围的最高值和最低值,而不是设置它们。对于 Range 类,只能通过调用构造函数来设置这些值。

您可能想要做的是将 Range 类型的成员变量添加到 Tree 类,然后在构造函数中设置该变量:

ran = new Range(plow, phigh);

关于java - 如何在构造函数中调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26448821/

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