ホームページ > Java > &#&チュートリアル > Java言語における静的修飾子の機能は何ですか?

Java言語における静的修飾子の機能は何ですか?

王林
リリース: 2023-04-18 14:38:20
転載
1468 人が閲覧しました

Java クラスでは、static キーワードがよく使用されます。これは、static と呼ばれることがよくあります。静的修飾子はデータ メンバーやメソッド メンバーの変更に使用できますが、クラス (ここでは外部クラスを指します) やコンストラクターを変更することはできません。例:

package com.csst.vo;    public class User {          private String name;          private static int count;          public String getName() {                 return name;          }          public void setName(String name) {                 this.name = name;          }                public static int getCount() {                 return count;          }          public static void main(String[] args){                 User user1=new User();                 User user2=new User();                 user1.setName("Rose");                 user2.setName("Kate");                 user1.count=10;                 user2.count=20;                 System.out.println("user1.name:"+user1.getName()+" user2.name:"+user2.getName());                 System.out.println("user1.count:"+User.getCount()+"user2.count:"+user2.count);          }  }
ログイン後にコピー

このプログラムの実行結果は次のとおりです:

user1.name:Rose user2.name:Kate   user1.count:20 user2.count:20
ログイン後にコピー

user1 と user2 の name 属性はそれぞれ異なり、オブジェクトの setName を呼び出すことによって指定されていることがわかります。 、user1 と user2 User2 は count 属性に異なる値を指定しましたが、最終的に出力される count 値はすべて 20 でした。その理由は、count は static によって変更されますが、name は count によって変更されないためです。
static 修飾子によって変更されたデータ メンバーまたはメソッド メンバーを静的メンバーまたはクラス メンバーと呼び、静的修飾子によって変更されないものをインスタンス メンバーと呼びます。静的メンバーは 1 回だけ初期化され、すべてのオブジェクトで共有されるため、count は 20 を 2 つ出力します。インスタンス メンバーはオブジェクトの初期化時にのみ初期化され、オブジェクトが作成されるたびに 1 回初期化されます。 name は user1 と user2 の作成時に 2 回初期化されたため、最終出力は Rose と Kate になります。
さらに、静的メンバーはクラスによって共有されるため、オブジェクトだけでなくクラス名からも呼び出すことができます。静的メソッドでは非静的メンバーを直接使用することはできず、使用する場合はオブジェクトを初期化して呼び出す必要があります。上記例のUser.javaに以下のコードがあるとコンパイルエラーとなります。

public static void test(){          setName("test");   }
ログイン後にコピー

は次のように変更できます:

public static void test(){                 User user=new User();                 user.setName("test");   }
ログイン後にコピー

以上がJava言語における静的修飾子の機能は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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