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 に答える