1

以下のようなプログラムを日食で作成しようとしていますが、エラーが表示されます。私はJavaを初めて使用するので、誰かがJavaを修正して、エラーが表示される理由を教えてもらえますか?

public class Specifiers {

    public static void main(String[] args) {
        public void start1()
        {
            System.out.println("In Start Method");

        }

    }
}
4

4 に答える 4

6

クラスのメソッドにメソッドがあります。start1(メソッドではなく)クラスに含まれている必要があり、メソッドから呼び出す必要mainがあります。

また、非静的メソッドにアクセスするには、クラスのインスタンスを作成する必要があります。非静的メソッドはインスタンスの個々の状態(フィールド)にアクセスできるため、最初にコンストラクターを使用してインスタンスを作成する必要があります。オブジェクト指向プログラミングにおけるクラスとインスタンスの概念についてもっと学ぶことをお勧めします。

public class Specifiers {
    public static void main(String[] args) {
        Specifiers x = new Specifiers();
        x.start1();
    }

    public void start1() {
        System.out.println("In Start Method");
    }
}
于 2013-01-30T23:29:02.507 に答える
2

Javaのメソッド内にメソッドを含めることはできません

これは機能します:

public class Specifiers {

    public static void main(String[] args) {
        System.out.println("In Start Method");
    }
}

またはこれ

public class Specifiers {

    public static void main(String[] args) {
      new Specifiers( ).start1( );
    }

    public void start1()
    {
      System.out.println("In Start Method");

    }
}
于 2013-01-30T23:28:30.900 に答える
2

メソッド内にメソッド宣言があります。これを試して:

public class Specifiers {

    public static void main(String[] args) {
        start1();
    }

    public static void start1()
    {
        System.out.println("In Start Method");
    }
}

編集:もちろん、静的である必要があります。私の悪い...

于 2013-01-30T23:29:41.327 に答える
1

このmainメソッドは、Java仮想マシンが実行する最初のメソッドです。Javaインタープリターを使用してクラスを実行すると、ランタイムシステムはクラスのmain()メソッドを呼び出すことから開始します。次に、このmain()メソッドは、アプリケーションの実行に必要な他のすべてのメソッドを呼び出します。主なメソッドはJavaプログラムのエントリポイントであり、Javaプログラムはこのメソッドなしでは実行できないと言えます。

public class FirstClass{
    public static void main(String[] args) {
        Specifiers x = new Specifiers();
        x.start1();
    }
}

public class Specifiers {

    public void start1() {
        System.out.println("In Start Method");
    }
}
于 2013-01-31T00:00:28.217 に答える