Javaの静的キーワード

王林
リリース: 2024-08-30 15:21:37
オリジナル
648 人が閲覧しました

Java は、ソフトウェア プログラムやアプリケーションの作成に使用される人気のあるプログラミング言語で、90 年代半ばに開発されました。 Java は、最新のすべてのオペレーティング システムと互換性があります。その人気の理由は、静的メンバーと同様に、アプリケーション全体のセキュリティと再利用性を確保するために提供される特定の規定によるものです。 Java では、static キーワードは主に、効率的なシステム メモリ管理と共通プロパティの再利用性を確保するために使用されます。 static キーワードは、コード ブロックだけでなく、変数、メソッド、ネストされたクラスでも使用できます。 static は Java の非アクセス修飾子として使用されます。 Static キーワードは、特定のメンバーが、その特定の型の個々のインスタンスではなく、その型自体に属することを示します。これは、その静的メンバーの 1 つのインスタンスのみを作成し、クラスのすべてのインスタンス間で共有できることを意味します。

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

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

静的メソッドを作成する

静的メンバーを宣言するには、それがブロック、変数、メソッド、ネストされたクラスのいずれであっても、メンバーの前にキーワード static を付ける必要があります。メンバーを静的として宣言すると、そのクラス オブジェクトから独立しているため、そのクラス オブジェクトが作成される前にそのメンバーにアクセスできます。

以下の例では、静的メソッドを作成し、そのクラスを参照せずにそれを呼び出す方法を確認します。

コード:

class Main // declaring a class name called staticTest
{
// Declaring a static method below
public static void myStaticmethod()
{
System.out.println("Hello, I was called from static method.");
}
public static void main(String[] args )
{
// Calling the static method without any object reference
myStaticmethod();
}
}
ログイン後にコピー

出力:

Javaの静的キーワード

複数の静的ブロックを含む単一のクラスを作成する

静的変数を初期化するために特定の計算を実行する必要がある場合があります。このような場合、クラスが最初に実行されるときに 1 回だけロードされる静的ブロックを宣言できます。

例:

コード:

class Main
{
// Declaring a static variable below
static int a = 10;
static int b;
// Declaring a static block below
static
{
System.out.println( " In static block now. " );
b = a*2;
}
public static void main( String[] args )
{
System.out.println(" Value of b : " + b);
}
}
ログイン後にコピー

出力:

Javaの静的キーワード

ここで静的変数に移ります。変数が静的として宣言されると、変数のコピーが 1 つだけ作成され、クラス内のすべてのオブジェクト間で共有されるため、静的変数は主にグローバル変数です。静的変数はクラス レベルでのみ作成できることを考慮する必要があります。プログラムに静的変数と静的ブロックの両方がある場合、静的変数と静的ブロックはプログラムに記述された順序で実行されます。

メソッドは Java です。 static キーワードを前に付けて宣言された場合、それは static メソッドと呼ばれます。 Java で最もよく使用される静的メソッドは main メソッドです。静的キーワードを使用して宣言された Java のメソッドには、いくつかの制限もあります。

そのうちのいくつかを以下に挙げます:

  • 静的メソッドは、他の静的メソッドを呼び出すことのみが許可されます。
  • 静的メソッドは静的データにのみ直接アクセスできます。
  • 静的メソッドは、いかなる状況でも this または super を参照できません。

Java では Main メソッドが静的であるのはなぜですか?

  • Java の main メソッドは静的です。オブジェクトが main メソッドを呼び出す必要がないためです。
  • それが非静的メソッドの場合、まずクラス オブジェクトを呼び出すために JVM (Java 仮想マシン) が必要になりますが、そのために追加のメモリが必要になるため、これはメモリ効率の良いプロセスではありません。

静的メンバーの使用例

どのような状況やシナリオで静的メンバーと変数を使用する必要があるのか​​考えているかもしれません。

すべてのオブジェクトに共通するプロパティには静的変数を使用できます。たとえば、Student という名前のクラスがある場合、すべての Student オブジェクトは大学名の同じプロパティを共有することになり、その場合は静的変数として宣言できます。静的変数の値がクラス オブジェクトから独立している場合は、静的変数を使用することもできます。

例:

コード:

class Student
{
int roll_no; // declaring an instance variable
String name;
static String college_name ="KC College"; // declaring a static variable for common property college name
//declaring the class constructor below
Student(int r, String n)
{
roll_no = r;
name = n;
}
// declaring a method to display the values
void display ()
{
System.out.println(roll_no+" "+name+" "+college_name);
}
}
//Declaring a test class to display the values of objects
public class Main{
public static void main(String args[]){
Student st1 = new Student(111,"Karan");
Student st2 = new Student(222,"Arjun");
//below we have changed the college name which was a common property of all objects with a single line of code
Student.college_name ="Jain Hind College";
st1.display();
st2.display();
}
}
ログイン後にコピー

出力:

Javaの静的キーワード

Java の静的入れ子クラス

  • Java では、最上位クラスを静的として宣言できませんが、必要に応じて、そのネストされたクラスを静的として宣言できます。このようなクラスは、ネストされた静的クラスと呼ばれます。
  • Java の静的メソッドは実行時に識別され、オーバーライドは実行時ポリモーフィズムの一部であるため、静的メソッドをオーバーライドすることはできません。抽象メソッドを静的として宣言することはできません。

結論 – Java の静的キーワード

上記の例と説明から、Java は静的や抽象などのいくつかの機能とプロパティを提供しており、これらにより Java の使用が安全で堅牢なものになると結論付けることができます。 Java につながるこれらは、セキュリティが最優先のシステム開発において依然として非常に人気のある選択肢です。

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

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート