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

科迪·蒂默(Cody Timmer)

下面是我的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,只能通过调用构造函数来设置这些值

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

ran = new Range(plow, phigh);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在构造函数中模拟方法调用?

如何在构造函数调用方法中创建变量?

如何在子类构造函数中调用父构造函数?

如何spyOn在构造函数中调用的方法?

如何在基于函数调用的构造函数中设置顶级属性方法?

如何在构造函数中添加方法?

如何在超级构造函数中调用的重写方法中使用成员

如何在C ++中从基类构造函数调用派生类方法?

构造函数中的调用方法

如何在C#中使用构造函数调用方法?

如何在Python中调用超级构造函数?

如何在Java中确定构造函数调用?

如何在TypeScript中调用递归构造函数?

如何在多级继承中调用基类构造函数?

如何在JavaScript中的对象上调用构造函数?

如何在Dart中调用超级构造函数?

如何在main()c ++中调用构造函数?

如何在 PHP 中从其他页面调用构造函数

如何在结构中调用静态无参数构造函数?

如何在我的 xaml 页面中调用构造函数?

如何在第二个构造函数中调用构造函数?

如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

我如何在扩展类构造函数中调用抽象类的构造函数

Dart-如何在子类的构造函数中调用超类的工厂构造函数?

如何从Java中的main方法调用构造函数?

如何在构造函数外部调用超级构造函数?

如何在类的构造函数中绑定用户提供的方法?

如何在构造函数中捕获异步方法的异常?

如何在 PHP 的构造函数类中添加方法?