Javaの静的メソッド

王林
王林オリジナル
2024-08-30 16:17:02825ブラウズ

Java の静的メソッドは、クラスの一部であるメソッドですが、クラスのインスタンスとは見なされません。むしろ、Java の静的メソッドは、インスタンスを呼び出すことなく簡単に作成および実装できます。静的メソッドは、クラスの任意のデータ メンバーにアクセスでき、アクセスされるメンバー変数にはクラス内の変数のスコープが必要であるにもかかわらず、データ メンバーに対して任意の操作を行ったり、入力として任意の値を入力したりできます。メソッドは静的のみである必要があります。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文:

Java での静的メソッドの表現は次のとおりです。

public static void syntax_ex (String_name) {
Body of the program for execution.
}
  • public: クラスのアクセス修飾子は public です。
  • static: メソッドのスコープは static に作成されます。これは、すべてのメンバー変数と戻り値の型が static のスコープ内にあることを意味します。
  • void: 構文フロー内のこのキーワードは、現在のメソッドで処理される戻り値の型がないことを表します。
  • syntax_ex: クラスの名前。静的メソッドが現在定義されているクラスの一部であり、その後に文字列名が続くことを表します。
  • 実行するプログラムの本体: コア ロジック全体、または静的モードにする必要がある場合はビジネス ロジックが含まれます。
注: 静的メソッドの宣言には、修飾子として static が含まれている必要があります。そうでない場合、スコープは static に対して満たされず、クラスのメンバー変数にアクセスして操作することができなくなります。静的ではありません。戻り値の型は、int、string、float、またはカスタマイズされたデータ型になります。 static キーワードを保持した後は、いくつかのメモリ割り当て基準に従う必要があります。

Java での静的メソッドはどのように機能しますか?

  • 静的メソッドとインスタンス メソッドは Java の 2 つのメソッドであり、プログラマの間で少し混乱を引き起こしますが、これは単なる誤解です。静的メソッドとインスタンス メソッドには大きな違いがあります。 Java で静的メソッドがどのように機能するかを見てみましょう。 Javaの静的メソッドはクラス内に常駐するメソッドで、オブジェクトが作成されていなくても、インスタンス化が行われていない場合でもアクセスできます。クラスのインスタンスにアクセスするには、クラス名の後にメソッド名を指定し、引数を渡すだけで十分です。
  • ClassName.methodName(arguments) として表すことができます。さらに、これらのメソッドは、メソッドが修飾子 static で定義されたスコープを持つクラス内に存在するすべてのメンバー変数とオブジェクトに対して共有可能であるという 1 つの目標を持って構成されています。これらのメソッドにはオーバーライドする機能がありません。むしろ、プログラマーが共通のコード スニペットをすべてのインスタンスとオブジェクト、またはクラスのメンバー変数間で共有する必要がある場合は常に、コンパイル時にコンパイラの静的バインディングを使用してオーバーロードでき、その場合は静的メソッドが使用されます。参照用の共通の静的スコープを作成することで、すべてのメンバー、オブジェクト、変数に対して一種の共有プロビジョニングを作成するため、救世主として機能します。
  • クラスのすべての静的フィールドには、クラスの静的メソッドの一部として静的フィールドを使用してアクセスできます。また、静的メソッドも関連しており、メモリ割り当て機能でもサポートされています。静的メソッドのフィールドと変数の一部を、メモリ内に永続的に生成されたヒープとともに保存し、関連する値に使用されます。メモリ割り当ては静的メソッド ヒープの作成としてのオブジェクトをサポートしていないか、メソッド自体がインスタンス化をサポートしていません。しかし、次に頭に浮かぶ疑問は、クラスの一部としてすべてのメンバーのスコープを共有および作成することによって、静的メソッドがどのように機能するかということです。
  • その答えは、メソッドに引数として渡され、クラスによって呼び出されるローカル変数がスタック自体に格納されるという事実にあります。このように、これらはすべてクラスの一部であり、クラスに属しているため、オブジェクトを作成せずに、他のメンバー変数またはメソッドから簡単にアクセスできます。

Java の静的メソッドの例

以下は Java の静的メソッドの例です:

例 #1

このプログラムは、言及された主題の採点を修正しようとする特定のメンバーを含む静的クラスを示します。基本的に、オブジェクトを作成したり、インスタンスを作成したりせずに、静的スコープ内のクラスのフィールドまたはメンバー変数を作成してアクセスできることを示しています。

コード:

public class E_Static_Method_Ex {
int roll_no;
String stdnt_name;
static String subject = "Maths";
public void rectify()
{
subject = "English";
}
E_Static_Method_Ex(int roll, String name) {
roll = roll_no;
name = stdnt_name;
}
void represent()
{
System.out.println(roll_no+""+stdnt_name+""+subject);
}
public static void main(String[] args) {
String mrks = E_Static_Method_Ex.subject;
System.out.println(mrks);
}
}

出力:

Javaの静的メソッド

Example #2

This program demonstrates a very significant point which needs to be kept in mind while executing any static method code, which is like the arguments passed and declared in the class should be defined within the scope of static or should have initialized with the static keyword so that accessing the field or the member variable becomes easy and there remains no compilation error as represented in the given program.

Code:

public class Restrcn_Static_Class {
int bi = 30;
String name = "Welcome Everyone!";
public static void main(String[] args) {
System.out.println(bi);
System.out.println(name);
}
}

Output:

Javaの静的メソッド

Example #3

This program demonstrates the static variable that becomes accessible for the static class if the fields are declared and defined with static as a modifier; otherwise, the scope of static won’t get satisfied, and it will throw compilation error like the earlier example.

Code:

public class Static_Var_1 {
static int cnt=0;
Static_Var_1(){
cnt++;
System.out.println(cnt);
}
public static void main(String[] args) {
Static_Var_1 d1=new Static_Var_1();
Static_Var_1 dd2=new Static_Var_1();
Static_Var_1 dd3=new Static_Var_1();
Static_Var_1 dd4=new Static_Var_1();
Static_Var_1 dd6=new Static_Var_1();
}
}

Output:

Javaの静的メソッド

Conclusion

Static Method in Java is a useful method in a class and has a clear difference when compared with the instance method as static method gives programmers flexibility by making them free from object creation, i.e. from the method of object instantiation. It helps in making the entire static class dynamic and versatile in nature, unlike the instantiation method.

以上がJavaの静的メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。