正直に言うと、静的キーワードに初めて出会ったとき、誰もがこう思います: 「これは何の魔術ですか?」 ?でも心配しないでください。ここでは、シンプルで奥深く、そしておそらく少し楽しい方法でそれを詳しく説明します!
あなたがパーティーにいるところを想像してみてください?あなたもあなたの友達もみんな帽子をかぶっています。しかし、全員が共有しなければならない帽子は 1 つだけ しかありません。これは基本的に Java で static キーワードが行うことです。友達ごとに帽子を作成する (面倒になる可能性があります) 代わりに、グループ (クラス) に属する 1 つの帽子 を用意し、全員が順番にそれをかぶることができます。
このイメージを念頭に置いたところで、Java で静的が実際に何を行うのかを詳しく見ていきましょう。
簡単に言えば、Java で static キーワードを使用すると、「ここにあるこれは、そのクラスの特定のオブジェクトではなく、クラス自体に属しています。」と言っていることになります。
これはつまり:
静的変数は、誰もが共有する 1 つの帽子のようなものです。帽子を変えると (例: 羽根を入れるなど)、全員がその変化を目にします。
class Party { static int numberOfGuests = 0; // static variable Party() { numberOfGuests ; // Increment the guest count every time someone joins the party } } public class Main { public static void main(String[] args) { Party guest1 = new Party(); Party guest2 = new Party(); Party guest3 = new Party(); System.out.println(Party.numberOfGuests); // Output: 3 ? } }
この例では、すべてのゲストがnumberOfGuests変数を共有します。新しいゲストはそれぞれ、独自のゲスト数を取得しません (混乱を想像してください!)。代わりに、全員が同じカウントを更新します。さて、何人のゲストが到着しても、ゲストの数は 1 つ のみで、個々のゲストではなく Party クラス に属します。
静的メソッドは、パーティーのピザの配達員のようなものです。電話をかけると、招待状 (オブジェクト) を必要とせずに現れます。パーティーの数に関係なく、同じピザ屋が全員にピザを配達します。ピザ屋(クラス)に電話するだけで、彼らはやって来ます!
class PizzaShop { static void deliverPizza() { System.out.println("Pizza delivered! ?"); } } public class Main { public static void main(String[] args) { PizzaShop.deliverPizza(); // No need to create a PizzaShop object } }
上記の例では、ピザを入手するために PizzaShop オブジェクトを作成する必要はありません。クラスからメソッドを直接呼び出しました。だって、お腹が空くたびにお店を作りたいと思うのはなぜですか?
パーティーが始まる前にDJがサウンドチェックをしますよね?これは 静的ブロック のようなものです。すべてが適切に配置されていることを確認するために、何かが起こる前に 1 回実行されます。
class Party { static String music; // Static block to set up the DJ's playlist ? static { music = "Let's Dance by David Bowie"; System.out.println("Music is set up: " music); } } public class Main { public static void main(String[] args) { System.out.println("Party is starting with: " Party.music); } }
静的ブロックはパーティが開始する前に実行されます。音楽は事前に設定されているため、ゲストが到着したときにはすでにノリノリです?.
静的ネストされたクラスは、パーティーの VIP セクションのようなものです。彼らはメイン イベント内にいますが、独立しています。VIP セクションにアクセスするためにパーティーを作成する必要はありません。
class Party { static class VIPArea { void exclusiveService() { System.out.println("Welcome to the VIP area! ?"); } } } public class Main { public static void main(String[] args) { Party.VIPArea vip = new Party.VIPArea(); // No need for a Party object vip.exclusiveService(); // Output: Welcome to the VIP area! ? } }
VIPエリアはパーティーの一部ですが、本格的なパーティーでなくてもご利用いただけます。それは独立したもので、荒れ狂うイベントの中にあるクールで静かな VIP ラウンジのようなものです。
さて、あなたはこう考えているかもしれません。「これはとても素晴らしいことですが、実際に静的をいつ使用すればよいでしょうか?」 さて、これがチートシートです:
さて、カーテンの後ろを覗いてみましょう。魔法がどのように起こるかは次のとおりです:
ゲストが到着する前にスナックテーブルを準備するようなものです。各ゲストに自分の食べ物を持ってくるように頼む必要はありません。共有の軽食を自分で食べるだけです?.
ほとんどのことと同様、静電気が多すぎると問題が発生する可能性があります。以下にいくつかの警告があります:
Java の静的キーワードは、DJ、ピザ屋、パーティーの VIP ラウンジのようなものです。これにより、すべてがよりスムーズに、より効率的になり、ゲスト全員で共有されます。ユーティリティ メソッド、共有データ、または単にメモリを節約したい場合でも、静的はあなたの味方です。
ただし、すべてを静的な自由に変えないでください。賢く使用すれば、コードはクリーンで効率的で、混乱がなくなります ?.
それでおしまい!これで、プロのように静的な知識を吸収する準備が整いました ?.
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3