1
public void toonBoten()
    {
        for(Boot tweedeboot: boten)
        {
            Boot.toonBoot();
        }
    }

我正在尝试从 Boot 类中调用方法 toonBoot。这应该对来自 ArrayList boten 的每个 Boot 类型(与类相同)的 tweedeboot 进行。toonBoot 打印几行信息(基本上是一些坐标)。

出于某种原因,我总是收到错误“无法从静态上下文引用非静态方法 toonBoot()”。我究竟做错了什么?谢谢!

4

2 回答 2

4

你必须调用方法instance

public void toonBoten()
    {
        for(Boot tweedeboot: boten)
        {
            tweedeboot.toonBoot();
        }
    }

在哪里

  Boot.toonBoot(); //means toonBoot() is a static method in Boot class

看:

于 2013-10-24T14:52:06.957 回答
1

你在做什么

通过调用 中的方法Class name,你告诉编译器这个方法是一个static方法。也就是说,调用Boot.hello()方法签名hello()类似于:

public static void hello() {}

你应该做什么

从对象引用调用,或者在本例中为tweedeboot. 这告诉编译器该方法是static方法还是instance方法,它将检查实例和类。

于 2013-10-24T14:54:48.937 回答