静态方法不能运行其他方法?

时间:2012-10-07 02:47:21

标签: java methods static

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

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进行静态引用” 我确定这是一个非常简单的错误,我找不到它。感谢任何帮助!

2 个答案:

答案 0 :(得分: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);
    }
}

答案 1 :(得分: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);
    }
}

`