0

所以,我正在尝试制作一个非常简单的程序。

public class test {
    public static void main (String args[]){
        System.out.println("Yum! Pi!");
        int pi = 1;
        varCreate();
        varAdd();
    }
    public void varCreate () {
        pi++;
    }
    public void varAdd () {
        System.out.println(pi);
    }
}

它不会让我这样做,它说的是:“无法从类型测试中对非静态方法 varAdd 进行静态引用”我确信这是一个非常简单的错误,我只是找不到它。感谢任何帮助!

4

2 回答 2

4

静态方法只能调用静态方法。

要么使函数成为静态函数,要么创建一个实例变量来调用这些方法。

public class test {
    static int pi = 1;
    public static void main (String args[]){
        System.out.println("Yum! Pi!");
        varCreate();
        varAdd();
    }
    public static void varCreate () {
        pi++;
    }
    public static void varAdd () {
        System.out.println(pi);
    }
}
于 2012-10-07T02:49:17.197 回答
3

您需要实例化您的 Test 类以使用(非静态)方法:

class Test {
    int pi = 1;

    public static void main (String args[]){
        System.out.println("Yum! Pi!");
        Test t = new Test();
        t.varCreate();
        t.varAdd();
    }
    public void varCreate () {
        pi++;
    }
    public void varAdd () {
        System.out.println(pi);
    }
}

`

于 2012-10-07T03:11:55.847 回答