回答:
それは3つのまったく異なるものです。
public
メソッドが可視であり、他のタイプの他のオブジェクトから呼び出すことができることを意味します。他の選択肢がありprivate
、protected
、package
とpackage-private
。詳細はこちらをご覧ください。
static
メソッドがそのクラスの特定のインスタンス(オブジェクト)ではなく、クラスに関連付けられていることを意味します。つまり、クラスのオブジェクトを作成せずに静的メソッドを呼び出すことができます。
void
メソッドに戻り値がないことを意味します。メソッドがを返したint
場合は、のint
代わりに記述しますvoid
。
これら3つすべての組み合わせは、main
ほとんどのチュートリアルに含まれるメソッドで最もよく見られます。
公共のキーワードは、プログラマがクラスメンバーの可視性を制御することができますアクセス指定子です。クラスメンバーの前にパブリックが置かれている場合、そのメンバーには、クラスメンバーが宣言されているクラス外のコードからアクセスできます。(publicの反対はプライベートであり、メンバーはそのクラスの外部で定義されたコードで使用されません。)
この場合はmain( )
、プログラムの起動時にクラス外のコードから呼び出す必要があるため、パブリックとして宣言する必要があります。
キーワードstaticを使用main( )
すると、クラスの特定のインスタンスをインスタンス化せずに呼び出すことができます。main( )
オブジェクトが作成される前にJavaインタープリターによって呼び出されるため、これは必要です。
キーワードvoidは、main( )
値を返さないようコンパイラーに指示するだけです。ご覧のとおり、メソッドは値を返す場合もあります。
それは3つのことを意味します。
最初public
は、他のオブジェクトがアクセスできることを意味します。
static
つまり、関数が呼び出される前に、そのクラスがインスタンス化されている必要はありません。
void
関数が値を返さないことを意味します。
学習しているだけなので、クラスについて学ぶまでは最初の2つについてはあまり気にしないでください。3つ目は、関数の作成を開始するまでそれほど重要ではありません(メイン以外)。
プログラミングを学ぶときに得た最高のアドバイスであり、私はあなたに伝えますが、すぐに理解できない細部について心配する必要はありません。基本事項の概要を理解してから、戻って詳細を心配してください。その理由はpublic static void
、最初のプログラムではいくつかの他のもの(のような)を使用する必要があるためです。それで、今のところ、それがそれが行われた方法であることを受け入れて、次に進んでください。あなたはすぐにそれらを理解します。
典型的なトップレベルのクラスを考えます。トップレベルで使用できるのはパブリックアクセス修飾子のみで、修飾子は使用できないため、パブリックが表示されるか、アクセス修飾子がまったく表示されません。
トップレベルで実際のオブジェクトを作成する必要がない場合があるため、「静的」が使用されます(ただし、静的を常に表示/使用するとは限らない場合があります。静的を含めない理由は他にもあります。また、これはトップレベルの典型的なものです。)
void
通常はトップレベル(クラス)から値を返すことはないため、これが使用されます。(ときどき、NULL
そうでない場合はvoidが常に使用されるとは限りません。特に、値を割り当てる最上位レベルでオブジェクトを宣言して初期化した場合はそうではありません)。
免責事項: 私は初心者ですので、この答えがどうしても間違っている場合は、私を絞首刑にしないでください。私は日々、開発者ではなく技術採用担当者です。コーディングは私の趣味です。また、私は常に建設的な批判を受け入れ、学ぶことを愛していますので、間違いがあれば遠慮なく指摘してください。
public
クラス/オブジェクトのどこからでも、パッケージやクラスの外からでもクラスにアクセスできることを意味しますstatic
ステートメントのブロックが1回だけ使用された定数を意味しますvoid
戻り値型がないことを意味しますPublic
-クラス(プログラム)が他のクラスで使用できることを意味します。
Static
-クラスを作成します。変数とメソッドにも適用でき、それらをクラスの特定のインスタンスにローカルなだけでなく、クラスのメソッド/変数にします。
Void
-これは、クラスが処理を完了しても製品が返されないことを意味します。これを、メインクラスに戻り値を提供するヘルパークラスと比較してください。これらは関数のように動作します。これらの宣言には無効はありません。
public
、static
、private
その後、等)(戻り型void
この場合)。